我想请问一下
我现在有个订单的表
很大
有30多万条数据
导致很卡
有办法优化么
可不可以删掉之前的20万的数据?
会不会好一些?
热议
2楼 hyc 昨天19:53
这得赚多少钱啊?大佬?
3楼 Faxlok 昨天19:53
印象中索引好像可以优化
4楼 yrj 昨天20:26
30万,很大?从程序找原因吧。优化一下查询
5楼 h20 昨天20:26
删掉也行吧,至少肯定能快一点
6楼 小旭 昨天20:28
redis缓存
7楼 mubazhe 昨天20:31
应该是程序设计不合理导致的
这么点数据还不至于很卡
你要试着优化的话可以先加缓存跟索引试试
8楼 kaleok 昨天20:53
,你既然想删除掉20万数据,那业务上就是历史数据了。
可以做软删除操作,新增一个字段,del,状态0为正常,1为已删除
查询时,默认只查where del=0的
如果存有日期字段,还可以默认按日期查询,比如where addtime>某个时间段
然后30万数据,实在是太少,like不走索引都几乎不影响效率。所以你的问题就是程序写得不好,比如太多第三级的join查询,字段太多没有选择固定字段。where条件中用到的字段没有索引,子查询实际会构架虚拟表,尽量少用等等问题
可以调试出程序最终执行的sql语句,然后到mysql命令控制台前面加explain 查看执行结果是否走索引
或者查看mysql slowlog 慢日志记录,可以精确定位是哪条语句导致慢查询等等
尽量用mysql5.7以后的数据库或者换mariadb,因为都做了更好的索引优化
9楼 diynat.com 昨天20:53
这么大的业务
10楼 teardrops 昨天20:54
30w 应该不算大.. 往上2个数量级 ( 3000w)勉强算.
慢有很多种原因.查询语句, 数据库是否有主索引之类.
12楼 Liu`e 昨天21:08
30万条 应该是毫秒级别的吧,需要技术支持不
13楼 李彦宏 昨天22:57
才30万,看看慢查询,explain走一走,找出问题靠百度都能解决
14楼 今晚不吃饭 昨天23:27
30万,很大?从程序找原因吧。优化一下查询
老哥为啥这么多积分?帖子这么少呢?不会是每天的签到吧?
申明:本文内容由网友收集分享,仅供学习参考使用。如文中内容侵犯到您的利益,请在文章下方留言,本站会第一时间进行处理。
评论前必须登录!
立即登录 注册