当前位置:网站首页>MySQL创建索引的技巧
MySQL创建索引的技巧
2022-08-09 08:48:00 【Java大厂面试君】
索引的类型
UNIQUE唯一索引
不可以出现相同的值,可以有NULL值。
INDEX普通索引
允许出现相同的索引内容。
PRIMARY KEY主键索引
不允许出现相同的值,且不能为NULL值,一个表只能有一个primary_key索引。
fulltext index 全文索引
上述三种索引都是针对列的值发挥作用,但全文索引,可以针对值中的某个单词,比如一篇文章中的某个词,然而并没有什么卵用,因为只有myisam以及英文支持,并且效率让人不敢恭维,但是可以用coreseek和xunsearch等第三方应用来完成这个需求。
创建索引的技巧
- 维度高的列创建索引。
- 数据列中不重复值出现的个数,这个数量越高,维度就越高。
- 如数据表中存在8行数据a,b ,c,d,a,b,c,d这个表的维度为4。
- 要为维度高的列创建索引,如性别和年龄,那年龄的维度就高于性别。
性别这样的列不适合创建索引,因为维度过低。 - 对 where,on,group by,order by 中出现的列使用索引。
- 对较小的数据列使用索引,这样会使索引文件更小,同时内存中也可以装载更多的索引键。
- 为较长的字符串使用前缀索引。
- 不要过多创建索引,除了增加额外的磁盘空间外,对于DML操作的速度影响很大,因为其每增删改一次就得从新建立索引。
- 使用组合索引,可以减少文件索引大小,在使用时速度要优于多个单列索引。
边栏推荐
猜你喜欢
随机推荐
web3到底是什么?
系统安全及应用
+ 6000 words, help you understand the Internet architecture evolution.
正则表达式基础介绍
UE4 RTS frame selection function implementation
欧几里和游戏
【CNN】白话迁移学习中域适应
PID控制电机输出作为电机PWM占空比输入的理解
EMQ X message server learning record - prepare for the subsequent completion
QT程序生成独立exe程序(避坑版)
Dark Horse 2022 latest redis course notes and knowledge points (for interview)
eTS UI development learning
Max Flow P
【GNN终身学习】2022 CVPR 终身图学习
[MySQL]mysql: Solve the problem of [Err] 1093 - You can't specify target table 'table name' for update in FROM clause
define 可变参数定义
Redis redis 】 【 the expiration of listening
Conversion between number systems
加密技术和电子竞技如何促进彼此的发展
消息中间件(MQ)前置知识介绍(必看)









