前缀索引
是什么?可以达到什么目的?
前缀索引是为字符串列的一部,创建一个区分度高、空间占用小的索引,可以提
高对表数据的查找和一定程度上的插入速度。
为 字 符 串 列 添 加 一 个 前 缀 :
官方文档
带来了那些问题?
与覆盖索引相比,如果满足了覆盖索引的条件,那么
将不会执行回表查数据操作。
但如果使用了前缀索引,那么就一定有回表操作。
实际业务中的考虑与选择
情况
:当一个字符串字段比较长,它的前
位区分度已经比较高了,那么可以对该字段
建立前缀索引
情况
:当一个字符串字段的前
位区分度不高,但后面面
位区分度高时,可以将字段
反转后再入库,索引建立时使用前缀索引。
情况
:当有一个很长的字符串需要做索引
唯一索引与普通索引的选择
当我们的业务中,一个字段需要保证唯一时,加唯一索引,优先考虑业务。
:
但
当一个字段即可以使用唯一索引,也可以选择普通索引时,如何选择
(
:)还是需要根据不同的业务来讨论。如果该表涉及的业务 读多写少,或写入后
短时间内会读取 ,那么使用唯一索引;如果涉及到业务写多读少,或写入后长时间内都不
会去读取,那么使用普通索引,如账单类、日志类的业务模块。
理由:
其中涉及到了
知识点,
!""#$
会将更新操作缓存在
中,便不需要从磁盘中读入这个数据页。下次查询需要访问这个数据页的时候,将
数据页读入内存,然后执行
中与这个页有关的操作,来保证数据的一致
性。
是
%""
中的一部分,有两个重要的参数
" &'
:表示
($
最大大小占
$ )""
的
百分比,默认为
*+
,最大可以设置为
*,+
。
"
:用来控制对哪些操作启用
($
功能,默认是:
,对所有修改操作使用
($
。
评论