用来高效获取数据
的数据结构。
查询:无索引时:全表查询;有索引时,高效。
大部分存储引擎都支持B+树索引
红黑树在大数据量情况下,层级较深,检索速度慢。
B+树:1、所有元素出现在叶子节点;叶子节点形成单向链表
必须有,只有一个
可以存在多个
判断数据库增删改查的哪个为主:
SHOW GLOBAL STATUS LIKE 'Com_______';
优化查询为主的数据库
定位执行效率比较低的sql
查看慢查询是否开启:
查看慢查询日志:
查看每一条sql指令的耗时,耗时在哪里
show profile
explain
查看sql语句的执行计划
,是否用索引,表的连接,连接顺序
Type
:最反映sql性能。
possible_key, key, key_len,rows,extra
查询从索引的最左列(最左列一定要存在,可以放在任意位置)开始,不能跳过索引中的列
,如果跳过了某一列,后面的字段索引失效
。索引将失效
用字符串的一部分前缀建立索引
前缀索引:通过前缀索引,回表查询拿到数据,与select语句对比,如果符合,则返回,继续查询下一个元素是否符合前缀,如果下一个元素找到的数据也符合,则组装数据。
解决大文本字段进行索引时,索引体积太大,浪费磁盘IO的问题