最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

MySQL索引之隔离列

来源:动视网 责编:小采 时间:2020-11-09 09:43:09
文档

MySQL索引之隔离列

MySQL索引之隔离列:如果在查询中没有隔离索引的列,mysql通常不会使用索引。隔离列意味着它不是表达式的一部分,也没有位于函数中。 例如: mysqlselect id from test where id +1 =5; 我们能轻易地看出where子句中的id等4,但是mysql却不会帮你求解方程,这取决于自己。
推荐度:
导读MySQL索引之隔离列:如果在查询中没有隔离索引的列,mysql通常不会使用索引。隔离列意味着它不是表达式的一部分,也没有位于函数中。 例如: mysqlselect id from test where id +1 =5; 我们能轻易地看出where子句中的id等4,但是mysql却不会帮你求解方程,这取决于自己。


如果在查询中没有隔离索引的列,mysql通常不会使用索引。隔离列意味着它不是表达式的一部分,也没有位于函数中。 例如: mysqlselect id from test where id +1 =5; 我们能轻易地看出where子句中的id等4,但是mysql却不会帮你求解方程,这取决于自己。我们应

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

例如:

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

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

再例如:

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

这个查询会查找date_cool值离今天不超过10天的所有行,但是它不会使用索引,因为使用了TO_DAYS()函数。

稍作修改:

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

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

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

文档

MySQL索引之隔离列

MySQL索引之隔离列:如果在查询中没有隔离索引的列,mysql通常不会使用索引。隔离列意味着它不是表达式的一部分,也没有位于函数中。 例如: mysqlselect id from test where id +1 =5; 我们能轻易地看出where子句中的id等4,但是mysql却不会帮你求解方程,这取决于自己。
推荐度:
标签: 没有 查询 如果
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top