》索引
索引,方便查找。
例如,博客的索引,例如,字典的目录。
索引可以提升查询的效率
》创建索引
》演练
先建个无索引的表
查看表结构
实际上,主键,就是一个索引
unique就是一个过引的类型,它是唯一索引
修改一个字段,给name设置一个唯一约束
查看建表语句
发现name已经是一个key
=
只要给表的字段设置了
primary key
或者
unique
就相当于给表定义索引
》回顾索引的语法
unique,唯一索引
fulltext,全文索引
spatial,空间索引
这些被括号括起来的,是可写可不写的
如果直接使用index或者是创建普通索引
》再来一个例子
查询索引的建立结果
同样,用key也能创普通索引
回顾, 之前加的唯一索引的情况
创建索引
查看结果
唯一索引与普通索引的区别
唯一索引,不可以重复(废话)
》全文索引
比如个人简历,小说的序等大断的文字,如果需要,可以建立一个全文索引
》创建列索引
多列索引,把两个字段联合起来建立的一个索引
演练
创建一个表
修改结束符。
默认的结束符,以;结尾
把它修改为以感叹号结尾
delimiter 符号
写一个mysql的循环
产生五十万条数据
在mysql中定义生成数据的函数
定义的耗时花了0秒
接下来要调用函数了
先把结束符号还原回来
然后再调用一下函数
花费了一定的时间,数据弄成功了
可以先用查询语句,查一个数据试一试
》给已经存在的表,创建添加索引
用create创索引
注,这里使用$$作为结束符号是因为上面的步骤没有把结束的符号调回来
把结符的符号设置为分号;
回顾前面,创建索引是有耗时的
耗时与数据量的大小是成正比例关系
查一下建表语句看变化
PK一下
前面无索引时的查询
注意,这个时候的id是没有索引时候的id
有索引后的查询
速度由0.07变为0.01
试一试,查询一个相同的id的比较
试一试,索引的查询机理,在python中跑一跑
具体的跑法
第一个是用遍历的方式查一个数据,第二个是用索引(建立字典)的方式跑一跑。
比较两者的区别(首 试)
》删除索引
索引查找快的原因
li = [1,2,3,4,5]
# 有索引的是这样找的
res = li[3]
print(res)
# 没有索引的话
for i in li:
if i == 4:
res = i
print(res)