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查询时,大家应该充分发挥你的聪明才智,具体问题进行具体对待,进行优化

sql 模糊查询优化,布布扣,bubuko.com

sql 模糊查询优化

上一篇:sqlserver row_number 类似 mysql中 limit 用法


下一篇:mysql常用的一些命令,用于查看数据库、表、字段编码