mysql索引优化面试题
mysql的groupby怎么优化?
mysql的groupby怎么优化?
在某些情况中,MySQL能够做得更好,通过索引访问而不用创建临时表。GROUPBY使用索引的最重要的前提条件是所有GROUPBY列引用同一索引的属性,并且索引按顺序保存(例如,这是B-树索引,而不是HASH索引)。是否用索引访问来代替临时表的使用还取决于在查询中使用了哪部分索引、为该部分指定的条件,以及选择的累积函数。有两种方法可以通过索引优化GROUPBY语句:
1,组合操作结合所有范围判断式使用(如果有)。
2,首先执行范围扫描,然后组合结果元组。
mysql为什么有时候会选错索引?
我们知道我们一个表里面可以有多个索引的,那么我们查询数据的时候不指定索引,MySQL就会帮我们自动选择。既然是MySQL程序帮我们自动选择的那么会不会有问题的呢?
答案是会的,MySQL的优化器也有bug,有时候选择的索引并不是最优的。这也就不难理解为什么会选错索引了。
Mysql怎样优化处理?
安装的时候有设置模板,可以搜索知数堂,然后根据你服务器配置进行少量调整,主要还是头发数/INNODB相关缓存设置,这是基本优化;到了业务方面,就只能根据相关范式进行优化了;另外linux的优化也要做,只是这部分是通用的,不是只为mysql做优化