全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 843|回复: 13

关于数据库优化问题

[复制链接]
发表于 2021-6-28 19:52:33 | 显示全部楼层 |阅读模式
我想请问一下
我现在有个订单的表
很大
有30多万条数据
导致很卡
有办法优化么
可不可以删掉之前的20万的数据?
会不会好一些?
发表于 2021-6-28 19:53:14 | 显示全部楼层
这得赚多少钱啊?大佬?
发表于 2021-6-28 19:53:52 | 显示全部楼层
印象中索引好像可以优化
发表于 2021-6-28 20:26:15 | 显示全部楼层
30万,很大?从程序找原因吧。优化一下查询
发表于 2021-6-28 20:26:57 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2021-6-28 20:31:19 | 显示全部楼层
应该是程序设计不合理导致的

这么点数据还不至于很卡

你要试着优化的话可以先加缓存跟索引试试
发表于 2021-6-28 20:53:02 | 显示全部楼层
,你既然想删除掉20万数据,那业务上就是历史数据了。
可以做软删除操作,新增一个字段,del,状态0为正常,1为已删除
查询时,默认只查where del=0的
如果存有日期字段,还可以默认按日期查询,比如where addtime>某个时间段
然后30万数据,实在是太少,like不走索引都几乎不影响效率。所以你的问题就是程序写得不好,比如太多第三级的join查询,字段太多没有选择固定字段。where条件中用到的字段没有索引,子查询实际会构架虚拟表,尽量少用等等问题

可以调试出程序最终执行的sql语句,然后到mysql命令控制台前面加explain 查看执行结果是否走索引

或者查看mysql slowlog 慢日志记录,可以精确定位是哪条语句导致慢查询等等

尽量用mysql5.7以后的数据库或者换mariadb,因为都做了更好的索引优化
发表于 2021-6-28 20:53:51 | 显示全部楼层
这么大的业务
发表于 2021-6-28 20:54:42 | 显示全部楼层
30w 应该不算大.. 往上2个数量级 ( 3000w)勉强算.

慢有很多种原因.  查询语句, 数据库是否有主索引之类.   
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-3-29 15:53 , Processed in 0.085098 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表