mysql索引基本知识(MySql索引使用策略分析)
mysql索引基本知识
MySql索引使用策略分析MySql索引
索引优点
1.可以通过建立唯一索引或者主键索引,保证数据的唯一性.
2.提高检索的数据性能
3.在表连接的连接条件 可以加速表与表直接的相连
4.建立索引,在查询中使用索引 可以提高性能
索引缺点
1.在创建索引和维护索引 会耗费时间,随着数据量的增加而增加
2.索引文件会占用物理空间,除了数据表需要占用物理空间之外,每一个索引还会占用一定的物理空间
3.当对表的数据进行 INSERT,UPDATE,DELETE 的时候,索引也要动态的维护,这样就会降低数据的维护速度,
(建立索引会占用磁盘空间的索引文件。一般情况这个问题不太严重,但如果你在一个大表上创建了多种组合索引,索引文件的会膨胀很快)。
使用索引需要注意的地方
1.在经常需要搜索的列上,可以加快索引的速度
2.主键列上可以确保列的唯一性
3.在表与表的而连接条件上加上索引,可以加快连接查询的速度
4.在经常需要排序(order by),分组(group by)和的distinct 列上加索引 可以加快排序查询的时间, (单独order by 用不了索引,索引考虑加where 或加limit)
5.在一些where 之后的 < <= > >= BETWEEN IN 以及某个情况下的like 建立字段的索引(B-TREE)
6.like语句的 如果你对nickname字段建立了一个索引.当查询的时候的语句是 nickname lick '%ABC%' 那么这个索引讲不会起到作用.而nickname lick 'ABC%' 那么将可以用到索引
7.索引不会包含NULL列,如果列中包含NULL值都将不会被包含在索引中,复合索引中如果有一列含有NULL值那么这个组合索引都将失效,一般需要给默认值0或者 ' '字符串
8.使用短索引,如果你的一个字段是Char(32)或者int(32),在创建索引的时候指定前缀长度 比如前10个字符 (前提是多数值是唯一的..)那么短索引可以提高查询速度,并且可以减少磁盘的空间,也可以减少I/0操作.
9.不要在列上进行运算,这样会使得mysql索引失效,也会进行全表扫描
10.选择越小的数据类型越好,因为通常越小的数据类型通常在磁盘,内存,cpu,缓存中 占用的空间很少,处理起来更快
什么情况下不创建索引
1.查询中很少使用到的列 不应该创建索引,如果建立了索引然而还会降低mysql的性能和增大了空间需求.
2.很少数据的列也不应该建立索引,比如 一个性别字段 0或者1,在查询中,结果集的数据占了表中数据行的比例比较大,mysql需要扫描的行数很多,增加索引,并不能提高效率
3.定义为text和image和bit数据类型的列不应该增加索引,
4.当表的修改(UPDATE,INSERT,DELETE)操作远远大于检索(SELECT)操作时不应该创建索引,这两个操作是互斥的关系
以上就是MySql索引使用策略分析的详细内容,更多关于MySQL 索引的资料请关注开心学习网其它相关文章!
原文链接:https://www.cnblogs.com/CoolYYD/p/13704593.html
- mysql快速创建索引(MySQL创建高性能索引的全步骤)
- mysql的三大组件(详解MySQL8的新特性ROLE)
- mysql基本查询方法(MySQL 重写查询语句的三种策略)
- mysql索引优化技巧(MySQL如何优化索引)
- mysql所有用户命令(MySQL用户管理与PostgreSQL用户管理的区别说明)
- mysql演示事务提交(MySQL找出未提交事务的SQL实例浅析)
- mysql主机双向复制配置(浅析MySQL并行复制)
- mysql事务特性的主要作用(详解MySQL中事务的持久性实现原理)
- mysql分页查询有几种(MySQL 查询的排序、分页相关)
- mysql的默认数据库例子在哪里(修改MySQL8.0 默认的数据目录快捷操作无配置)
- mysql查看数据库cpu使用率(CPU 以及内存从哪些方面影响 MySQL 性能?)
- mysql怎么查看表的字段(Mysql 获取表的comment 字段操作)
- mysql查看死锁记录(mysql查看死锁与去除死锁示例详解)
- mysql数据库间的连接(MySQL中表的几种连接方式)
- mysql多行数据之和(详解MySQL的数据行和行溢出机制)
- mysql查询数据去除重复(MySQL 大批量插入,如何过滤掉重复数据?)
- 对你思念入骨的女人,跟你见面时会有这几种表现,藏都藏不住(对你思念入骨的女人)
- 纳兰性德绝美作,一场重逢,成就最后一首称得上惊艳的《如梦令》(纳兰性德绝美作)
- 如何快速赚钱(如何快速赚钱方法真实有效)
- 这里输入关键词(如何输入关键词)
- 熊猫中国国宝(熊猫国宝酒53酱香)
- 春节会放假几天(春节会放假吗)
热门推荐
- pythonpil安装包(基于Python的PIL库学习详解)
- 修改docker镜像的环境变量(解决docker加载新的镜像后repository和tag名称都为none的问题)
- django条件序列化(Django之无名分组和有名分组的实现)
- react组件分析(react-diagram 序列化Json解读案例分析)
- Visual Studio中使用正则表达式替换
- html自适应怎么没有滚动条(如何让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度)
- php 结果集转json(PHP的JSON封装、转变及输出操作示例)
- background-position详细讲解(background-position百分比原理详解)
- mysql存储json的方式(MySQL中查询json格式的字段实例详解)
- css3过渡技巧视频(css3过渡_动力节点Java学院整理)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9