》索引

索引,方便查找。
例如,博客的索引,例如,字典的目录。
索引可以提升查询的效率
》创建索引

》演练
先建个无索引的表

查看表结构

实际上,主键,就是一个索引
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)
1498

被折叠的 条评论
为什么被折叠?



