## mysql索引相关介绍
索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引,即一个索引包含多个列。MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。实际上,索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录。
上面都在说使用索引的好处,但过多的使用索引将会造成滥用。因此索引也会有它的缺点:虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件。建立索引会占用磁盘空间的索引文件。
联合索引命中规则是:最左匹配规则,如下联合索引(姓名,年龄,性别):
![](https://box.kancloud.cn/eebc40ae599b33b9194842e52f6f8c6b_640x387.jpg)
![](https://box.kancloud.cn/87c4f47804b87a281fa08aef416307f5_434x279.jpg)
- 空白目录
- Python面试宝典
- 01-互联网协议定义
- 02-传输层基于tcp协议的三次握手和四次挥手
- 03-为什么连接的时候是三次握手,关闭的时候却是四次挥手?
- 04-什么是socket?
- 05-什么是多路复用和多路复用要解决的问题?
- 06-并发与并行的区别?
- 07-进程、线程、协程的定义?
- 08-进程、线程、协程的区别?
- 09-进程同步锁概念介绍
- 10-生产者消费者模型?
- 11-进程与线程的关系?
- 12-什么是协程?
- 13-数据库分类
- 14-MyISAM和InnoDB搜索引擎的特点
- 15-char 和varchar字符串类型的区别?
- 16-foreign key外键关联(一对多)实例。
- 17-mysql索引相关介绍
- 18-MySQL在以下操作场景下会使用索引
- 19-redis如何做持久化?
- 20-django的http请求流程
- 21-http协议与https协议的区别?
- 22-websocket协议?
- 23-单列模式
- 24-递归实现二分查找实例
- 25-冒泡排序
- 26-栈
- 27-简述cpython的内存管理机制
- 28-代码异常
- 29-列举你知道的python魔法方法及用途
- 30-copy和deepcopy的区别是什么?
- 31-代码中经常遇到的*args和**kwargs的含义及用法
- 32-HTTP Header及其功能
- 33-简述cookie和session的区别和联系
- 34-简述什么是浏览器的同源策略
- 35-简述python上下文管理器原理,并用上下文管理器简单实现将”hello world”,写入文件的功能。
- 37-简述一致性哈希原理和他要解决的问题
- 36-Python中@staticmethod和@classmethod的区别。
- 38-Python里面search()和match()的区别。
- 39-简述迭代器和生成器以及他们之间的区别?
- 40-菲波那切数列
- 41-列表表达式与生成器表达式的区别
- 42-什么是装饰器?请用装饰器实现singleton
- 43-写一个简单的python sockect编程
- 44-代码题
- 45-代码题2
- 46-url题
- 47-django里Queryset的get和filter方法的区别?
- 48-简述django对http请求的执行流程。
- 49-简述django下的(内建的)的缓存机制
- 50-列表的sort方法和sorted的区别是什么?
- 51-Python中变量的作用域(变量的查找顺序)
- 52-sql注入
- 53-解释python脚本程序的"name"变量及其作用
- 54-解释python字符串驻留机制。
- 55-解释下HTTP常见响应状态码
- 56-python是如何进行内存管理的
- 57-mysql中随着数据量的增大,查询速度会越来越慢,请给出简易的优化方案
- 58-开启多进程实例