年终大学习之MySQL数据库优化学习笔记(六) ——索引(一)
来源:互联网 发布:文本编辑 mac 编辑:程序博客网 时间:2024/05/01 12:15
从这一节开始学习索引的知识。
在这里,我们主要学习四种索引:
主键索引,唯一索引,全文索引,普通索引
小技巧:如何查看索引,这里有三种方法;
//第一种方法desc table_name;//第二种方法show index(es) from table_name;//第三种方法show keys from table_name;
首先学习主键索引:
1.添加
当一张表,把某个列设为主键的时候,则该列就是主键索引;
按照习惯,当创建每一张表的时候,就应该创建主键,首先是为了满足第二范式,其次就是为了查找速度的提高,设置主键之后,就自然形成了主键索引,而有索引和没有索引之间的查询速度相差是非常大的。
如果你在创建表的时候,没有设置主键,也可以在创建表后,再添加,指令如下:
alter table table_name add primary key (列名)这里需要了解一下MySQL创建出来的索引存放在哪。
一般的数据库会生成三种文件,分别是.frm,.myd, .myi,文件,首先.frm文件保存的是表的结构,.myd文件保存的是表的数据,这个文件一般是最大的,最后是.myi文件,保存的就是索引,在执行上面的指令的时候,所产生的索引就会保存在这个文件当中。
索引的工作原理:这就涉及到数据结构的原理了,一般索引的操作原理分为两种:一个是二叉树排序查询,一个是哈希排序,这两个算法都是很重要的,在复习数据结构的时候会认真的将其学习一边。
主键索引的效率是很高的,上节建立的emp大表,一般的查询语句需要1秒多,属于慢查询了,而添加了主键索引后,基本需要0点0几秒就可以完成了,效率的提高还是很大的。
然后就是普通索引:
一般来说,普通索引的创建,是先创建表,然后再创建普通索引
创建索引的指令如下:
create index 索引名 from table_name (列 1,列名2);
下一节继续介绍全文索引。
0 0
- 年终大学习之MySQL数据库优化学习笔记(六) ——索引(一)
- 年终大学习之MySQL数据库优化学习笔记(一)
- 年终大学习之MySQL数据库优化学习笔记(二)
- 年终大学习之MySQL数据库优化学习笔记(三)
- 年终大学习之MySQL数据库优化学习笔记(四)
- 年终大学习之MySQL数据库优化学习笔记(五)
- 年终大学习之C++学习笔记(一)
- 年终大学习之C++学习笔记(一) ——auto泛型
- MYSQL数据库优化之SQL及索引优化-学习笔记(1)
- MYSQL数据库优化之SQL及索引优化-学习笔记(2)
- MySQL学习笔记(23)-----------索引优化
- MYSQL优化之数据库结构优化-学习笔记(3)
- mysql学习笔记之三(索引)
- 数据库优化学习笔记(一)
- mysql技术内幕学习笔记-查询优化器及索引(一)
- MySQL数据库学习笔记(六)----MySQL多表查询之外键、表连接、子查询、索引
- MySQL数据库学习笔记(六)----MySQL多表查询之外键、表连接、子查询、索引
- 数据库查询性能优化之利器—索引(一)
- 编程语言以及周边工具 Logo
- Extjs5.1(9):Grid组件
- 关于adb4robotium跨进程框架抛出InputStream cannot be null的异常的解决方案
- 蔡崇信——阿里隐英雄
- 关于HttpClient发送get请求自动处理302状态码
- 年终大学习之MySQL数据库优化学习笔记(六) ——索引(一)
- TL和DL结合论文整理(不断更新中)
- IAR 使用说明
- UVa 1368 - DNA Consensus String
- C#之伪静态实现
- 装饰模式(DecoratorPattern)与继承(Extends)的区别
- Python zipfile报错问题
- declare-styleable自定义控件属性
- Mutant Flatworld Explorers