msyql优化查询explain和profiles使用

MySQL常用优化方法有建立索引。
MySQL提供两种索引方式B-Tree(默认)和hash
B树索引具有范围查找和前缀查找的能力,对于有N节点的B树,检索一条记录的复杂度为O(LogN)。相当于二分查找。
  哈希索引只能做等于查找,但是无论多大的Hash表,查找复杂度都是O(1)。
  显然,如果值的差异性大,并且以等值查找(=、 <、>、in)为主,Hash索引是更高效的选择,它有O(1)的查找复杂度。
  如果值的差异性相对较差,并且以范围查找为主,B树是更好的选择,它支持范围查找
索引失效得几种情况:

  • 不能索引null得值
  • 不适合键值比较少得情况
  • 模糊查询
  • 条件中有or条件中有一个没有索引

复合索引遵循左侧原则,例如:
例如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 b,c进行查找 .当最左侧字段是常量引用时,索引就十分有效
MySQL常用得分析工具:explain profiles
查看哪些线程正在运行:show processlist
profiles默认是关闭得。执行set profiling=1开启profiles
使用步骤:
msyql优化查询explain和profiles使用_第1张图片

你可能感兴趣的:(msyql优化查询explain和profiles使用)