当前位置:网站首页>Mysql 45讲学习笔记(十一)字符串字段怎么加索引
Mysql 45讲学习笔记(十一)字符串字段怎么加索引
2022-07-04 06:33:00 【孔汤姆】
一.前缀索引
- MySQL支持前缀索引,可以定义字符串的一部分做索引
- 创建索引的语句不指定前缀长度,那么索引就会包含整个字符串
二.使用多长前缀
使用前缀索引,定义好长度,可以做到节省空间,不额外增加太多的查询成本。
- 在建立索引时关注的区分度,区分度越高越好
- 区分度越高,意味着重复的键值越少
- 我们可以统计索引上有多少个不同的值 来判断要使用多少长的前缀
例子:统计不同字段的不同长度下的区分度
select
count(distinct left(email,4))as L4,
count(distinct left(email,5))as L5,
count(distinct left(email,6))as L6,
count(distinct left(email,7))as L7,
from SUser;
三.前缀索引对覆盖索引的影响
- 如果是全量字符串的话,支持索引覆盖的话就不会回表。
- 如果只是一部分字符串的话,系统还是要根据id索引回表看一下,因为系统不确定前缀索引定义是否截断了完整信息。
索引越长,占用的磁盘空间越大,相同数据页能放下的索引值越小,搜索效率越低。
四.身份证场景(字段前面想同后面区分度高)
- 使用倒叙存储,如果存储身份证号的时候把他们倒过来
- 使用 hash 字段
使用倒叙存储和使用hash字段两种方式的异同点
相同点
- 都不支持范围查询
不同点
- 占用的额外空间来看,倒叙存储方式在主键索引,不会消耗额外的存储空间
- hash字段方法需要增加一个字段
CPU消耗方面:
- 倒叙方式需要额外调用一次reverse函数
- hash字段需要额外调用一次哈希函数,reverse 函数额外消耗的 CPU 资源会更小些
查询效率:
- hash 字段方式的查询性能相对更稳定一些。因为 crc32 算出来的值虽然有冲突的概率,但是概率非常小
- 倒序存储方式毕竟还是用的前缀索引的方式,也就是说还是会增加扫描行数
边栏推荐
- Reading notes of Clickhouse principle analysis and Application Practice (4)
- Cloud native - SSH article that must be read on the cloud (commonly used for remote login to ECS)
- Invalid revision: 3.18.1-g262b901-dirty
- 对List进行排序工具类,可以对字符串排序
- QT releases multilingual International Translation
- 报错cvc-complex-type.2.4.a: 发现了以元素 ‘base-extension‘ 开头的无效内容。应以 ‘{layoutlib}‘ 之一开头。
- Considerations for testing a website
- Native Cloud - SSH articles must be read on Cloud (used for Remote Login to Cloud Server)
- High performance parallel programming and optimization | lesson 02 homework at home
- Common JS tool Libraries
猜你喜欢
Variables d'environnement personnalisées uniapp
Distributed cap theory
P26-P34 third_ template
buuctf-pwn write-ups (8)
Inputstream/outputstream (input and output of file)
LayoutManager布局管理器:FlowLayout、BorderLayout、GridLayout、GridBagLayout、CardLayout、BoxLayout
Can the out of sequence message complete TCP three handshakes
C语言中的函数(详解)
Tree DP
Sword finger offer II 038 Daily temperature
随机推荐
740. Delete and get points
thread priority
Native Cloud - SSH articles must be read on Cloud (used for Remote Login to Cloud Server)
[number theory] fast power (Euler power)
Learning multi-level structural information for small organ segmentation
ADC voltage calculation of STM32 single chip microcomputer
Which water in the environment needs water quality monitoring
24 magicaccessorimpl can access the debugging of all methods
Can the out of sequence message complete TCP three handshakes
JS execution mechanism
How to help others effectively
[untitled]
雲原生——上雲必讀之SSH篇(常用於遠程登錄雲服務器)
Common usage of time library
C language - Blue Bridge Cup - Snake filling
A little understanding of GSLB (global server load balance) technology
ABAP:OOALV实现增删改查功能
lightroom 导入图片灰色/黑色矩形 多显示器
2022.7.3-----leetcode. five hundred and fifty-six
Abap:ooalv realizes the function of adding, deleting, modifying and checking