当前位置:网站首页>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操作的速度影响很大,因为其每增删改一次就得从新建立索引。
- 使用组合索引,可以减少文件索引大小,在使用时速度要优于多个单列索引。
边栏推荐
猜你喜欢
随机推荐
requests爬取百度翻译
define 可变参数定义
leetcode 33. 搜索旋转排序数组 (二分经典题)
+ 6000 words, help you understand the Internet architecture evolution.
QT程序生成独立exe程序(避坑版)
STM32 如何知道FLASH的使用情况
【愚公系列】2022年08月 Go教学课程 033-结构体方法重写、方法值、方法表达式
Where does detection go forward?
LAN Technology - 6MSTP
RDMA
Non-decreasing Array
leetcode 35. 搜索插入位置(二分法+找性质也很关键)
数制转换及子网划分
The difference between big-endian and little-endian storage is easy to understand at a glance
web3到底是什么?
gin中改进版curd接口例子
requests之数据解析Xpath介绍
jdbctemplate connects to sql server, the data found in the code is inconsistent with the database, how to solve it?
System transformation and subnetting
管理方向发展