为什么要使用MySQL索引?
数据库系统访问数据的两种方式:
(1) 顺序访问
顺序访问是在表中实行全表扫描,从头到尾逐行遍历,直到在无序的行数据中找到符合条件的目标数据。顺序访问实现比较简单,但是当表中有大量数据的时候,效率非常低下。
(2) 索引访问
索引访问是通过遍历索引来直接访问表中记录行的方式。使用这种方式的前提是对表建立一个索引,在列上创建了索引之后,查找数据时可以直接根据该列上的索引找到对应记录行的位置,从而快捷地查找到数据。索引存储了指定列数据值的指针,根据指定的排序顺序对这些指针排序。 通过索引,查询数据时不用读完记录的所有信息,而只是查询索引列。否则,数据库系统将读取每条记录的所有信息进行匹配。拿汉语字典的目录页(索引)打比方,我们可以按拼音、笔画、偏旁部首等排序的目录(索引)快速查找到需要的字,如果没有索引,数据库系统在查询时会对内部的库进行一一比对,因此,使用索引可以很大程度上提高数据库的查询速度,还有效的提高了数据库系统的性能。
索引访问的优缺点:
优点:
可以快速检索,减少I/O
次数,加快检索速度;根据索引分组和排序,可以加快分组和排序;
缺点:
索引本身也是表,因此会占用存储空间,一般来说,索引表占用的空间的数据表的1.5倍;索引表的维护和创建需要时间成本,这个成本随着数据量增大而增大;构建索引会降低数据表的修改操作(删除,添加,修改)的效率,因为在修改数据表的同时还需要修改索引表;
推荐:mysql教程
以上就是为什么要使用MySQL索引?的详细内容,更多请关注其它相关文章!
上一篇: NoSQL数据库试用场景
下一篇: heroku quick deploy