的优化和索引高性能的索引策略呢
民生新闻 2021-08-24 17:42 字号: 大 中 小
前期销售增长快 Schema的优化和索引 - 高性能的索引策略 - 隔离列
如果你在一个查询中不隔离已经索引的列,一般来说MySQL就不会使用这个列上的索引,除非在查询中隔离这个列。“隔离”列的意思就是,这个列不能使一个表达式的一部分或者被放在一个函数的内部。
举个例子,在这个查询中,你不能使用在actor_id上的索引。
mysql SELECT actor_id FROM tor WHERE actor_id + 1 = 5;
我们很简单的就能知道上面的actor_id+1=5和actor_id=4是相同的,但是MySQL却不能处理这个actor_id+1=5这个方程式。这取决于你所做的。你应该简化你的WHERE条件。因此应该把索引列独立在比较符号的一端。
下面的例子是我们另一个常犯的错误。
mysql SELECT ... WHERE TO_DAYS(CURRENT_DATE) - TO_DAYS(date_col) = 10;
这个查询将会查找最近10天的所有的行,但是这个语句不会使用索引,因为使用了TO_DAYS函数。下面是比较好的方式
mysql SELECT ... WHERE date_col = DATE_SUB(CURRENT_DATE, INTERVAL 10 DAY);
这个查询使用索引不会有什么问题,但是你可以用另一种方法提升性能。CURRENT_DATE的引用会导致缓存失效。你可以用具体的日期来替换它来解决这个问题。
mysql SELECT ... WHERE date_col = DATE_SUB(\'\', INTERVAL 10 DAY);
在以后会详细说到查询的缓存。
补气流失怎么办柳州医院哪白癜风好
玉溪白癜风医院
-
-
逍遥朱婷我们的优势在进攻毕竟身高有优势嘛
朱婷:我们的优势在进攻 毕竟身高有优势嘛朱婷关键时刻还是...
2020-09-30 | 民生新闻
-
-
利拉德139麦科勒姆16分卡斯比18分国
利拉德13+9麦科勒姆16分 卡斯比18分国王负开拓者北京时间3月2...
2020-08-11 | 民生新闻
-
-
2019年限购限售地图看看你家限吗搭配
2019年,限购限售地图,看看你家限吗?购房者的置业参谋 地产人...
2020-06-07 | 民生新闻
-
-
枪手传奇埃梅里最重要点毫无作为复兴不可能搭配
枪手传奇:埃梅里最重要点毫无作为 复兴不可能埃梅里首战告...
2020-06-07 | 民生新闻
-
-
东契奇成历史第二詹姆斯科比都不行搭配
++!东契奇成历史第二 詹姆斯科比都不行东契奇成为历史第二人...
2020-05-31 | 民生新闻
-
-
万镑签字费巴黎月抢签桑切斯温格人财两空搭配
万镑签字费!巴黎月抢签桑切斯 温格人财两空桑切斯距离北伦...
2020-05-29 | 民生新闻