为什么sql语句中加了条件后反而执行速度慢了

来源:百度知道 编辑:UC知道 时间:2024/06/06 18:49:03
select count(*) from p_bts_mptc 查出来是3亿多条记录
而我加了条件之后select count(*) from p_bts_mptc where region_id is not null and half_traffic>0 执行速度反而慢了,而且极慢。
请高手跟我讲一下原因和SQL执行的过程

3亿多,你表里有索引没?

让你从3亿块钱里找HD50开头的人民币你说慢不?

所以当你条件里加了没有索引的字段查询后会慢,其实就算有索引,你的表那么大,查起来也挺费劲的

至于执行过程,就是先查出region_id is not null的,然后再从中查出half_traffic>0的,最后统计条数

其实你可以把人民币编号设成索引字段,这样速度可能快一点。不过你的记录总数是3亿条,速度当然有 点慢了!正常呀~