sql 模糊查询优化


在sql语句中使用 like模糊查询时,应该尽量避免%%,因为模糊查询是比较慢的,当出现这样的情况时,应该考虑优化。

举个例子:我在表中查询2012 年创建的记录

SELECT * FROM `component_data` WHERE creation_date LIKE '2012%';

  得到的时间

[SQL] SELECT * FROM `component_data` WHERE creation_date LIKE '2012%';
受影响的行: 0
时间: 0.500ms

  考虑优化之后的sql如下

SELECT * FROM `component_data` WHERE creation_date>='2012-01-01' AND creation_date<'2013-01-01';

  运行结果

[SQL] SELECT * FROM `component_data` WHERE creation_date>='2012-01-01' AND creation_date<'2013-01-01';
受影响的行: 0
时间: 0.328ms

  可以看出,优化之后的提升是很大的。当查询的结果比较多时,这个差异更为明显。我这个查询只有9000多条数据。

 

我只是举了个例子。当遇到like查询时,大家应该充分发挥你的聪明才智,具体问题进行具体对待,进行优化


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM