用Union优化Like语句
1)有时候,你可能需要在查询中使用or操作符进行比较。当or关键字在where子句中使用频率过高的时候,它可能会使MySQL优化器错误的选择全表扫描来检索记录。union子句可以是查询执行的更快,尤其是当其中一个查询有一个优化索引,而另一个查询也有一个优化索引的时候。
比如,在first_name和last_name上分别存在索引的情况下,执行如下查询语句:
mysql> select * from students where first_name like 'Ade%' or last_name like 'Ade%'
上述查询和下面使用union合并两条充分利用查询语句的查询相比,速度慢了许多。
mysql> select * from students where first_name like 'Ade%' union all select * from students wherelast_name like 'Ade%'
以上是MySQL中怎么用Union优化Like语句的详细内容。更多信息请关注PHP中文网其他相关文章!