我的语句是这样的
`select count(*) as t from site where islook>0 and lang='zh'`
我的网站是 https://887d.com/
数据库是Mariadb兼容Mysql
我把islook设为索引,但是都不走,lang字段设为索引虽然走了,但没法提高性能。记录数30万,统计这个记录需要大概2秒。
怎么办?请高手指教.
加索引是有讲究的.
你知道为啥我最后告诉你的方法可以提高一倍的速度吗?
那是因为引擎只扫描索引进行计数了而不是进行全表扫描.
你这个如果不是商业项目的话这样的结果我觉得已经可以接受了.
如果你要尽善尽美的话,那么最好找个专业的DBA帮你优化一下设计.
#12
更多评论
楼主确定自己不是来做网站推广的?
mysql系的数据库其实走不走索引完全看心情...
它的优化器不行的.
你的islook是否是个布尔变量?
如果是的话,索引基本没用不会走的.
lang的话是否绝大多数记录都是zh?
这样的话索引就算走也没用的.
30W的记录统计一个count都需要2秒...
我觉得你需要考虑换一个稳定版本或者换用数据库.
#2