比较有索引和无索引的查询速度(在mysql数据库中)

来源:互联网 发布:苹果mac输入法设置 编辑:程序博客网 时间:2024/06/05 05:34

索引:

      定义:在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和                  相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。

      总的来说索引就是为了提高查询的速度

       mysql数据库中可以添加索引,其中的主键是自带索引的,但是在使用有索引的列进行查询的时候才会提高速度。

       mysql数据库中的索引算法有HASH 和BTREE。其中HASH索引适合等值查找,不适合范围;BTREE索引适合范围查找,并且没有hash冲突问题。

下面我们来证明索引是否真的提高了查询速度:

   现在我们mysql数据库中有一个表student,表中有两列:name,age(由于数据量太多,age不是现实生活中的年龄),该表中有15272条记录。下图是该表:


查询:(1)没有索引的时候进行查询


(2)将name设成hash索引


(3)将name设成btree索引



由上面三个结果页面的显示:我们可以看出无索引的查询速度要比有索引的查询速度慢很多。


阅读全文
0 0
原创粉丝点击