Mysql学习mysql索引之隔离列的方法

《Mysql学习mysql索引之隔离列的方法》要点:
本文介绍了Mysql学习mysql索引之隔离列的方法,希望对您有用。如果有疑问,可以联系我们。

导读:本节内容:mysql隔离列如果在查询中没有隔离索引的列,mysql通常不会使用索引.隔离列意味着它不是表达式的一部分,也没有位于函数中.例如...

本节内容:
mysql隔离列MYSQL学习

如果在查询中没有隔离索引的列,mysql通常不会使用索引.“隔离“列意味着它不是表达式的一部分,也没有位于函数中.MYSQL学习

例如:
 MYSQL学习

mysql>select id from test where id +1 =5;

可以轻易地看出where子句中的id等4,但是mysql却不会帮你求解方程,这取决于自己.
应该养成简化where子句的习惯,这样就会把被索引的列单独放在比较运算符的一边.MYSQL学习

再例如:
 MYSQL学习

mysql>select ... where TO_DAYS(CURRENT_DATE) - TO_DAYS(date_col)<=10;

这个查询会查找date_cool值离今天不超过10天的所有行,但是它不会使用索引,因为使用了TO_DAYS()函数.
稍作修改:
 MYSQL学习

mysql>select ... where data_cool >= DATE_SUB(CURRENT_DATE,INTERVAL 10 DAY);

这个查询就可以使用索引,但是它还可以改进.使用CURRENT_DATE将会阻止查询缓存把结果缓存起来,可以用常量替换掉CURRENT_DATE的值:
 MYSQL学习

mysql>select ... where date_cool >= DATE_SUB('2012-08-29',INTERVAL 10 DAY);

相关文章

MySQL 死锁 是指两个或多个事务互相等待对方持有的锁,从而导...
在MySQL中,InnoDB引擎通过Next-Key Locking技术来解决幻读问...
在数据库事务管理中,Undo Log 和 Redo Log 是两种关键日志,...
case when概述 sql语句中的case语句与高级语言中的switch语句...
其实很简单,只是为了忘记,做个记录,用的时候方便。 不管是...
1.进入服务,找到mysql服务,在属性里找到mysql的安装路径 2...