关于索引

MySQL中索引基本上是无处不在,在MySQL自带的存储引擎–MyISAM中,用得最多的莫过于B-Tree索引了 要了解B-Tree索引,首先得明白什么是索引 所谓索引(Index),举个栗子,当需要阅读一本书的某个章节的时候,我们一般先翻阅该书的目录 找到指向该章节的目录后面的页码P,然后翻到P页,就能阅读我们需要的内容了 在数据库中,索引就相当于目录,该索引对应的数据就是某页的具体内容。 为什么要建立索引? 当我们需要检索条件(where ***)的某条(或多条)数据的时候,如果没有索引,就会遍历所有记录行 并把每行记录与条件where进行对比,然后返回满足条件的记录。但是,如果建立了索引,则会直接查询到 符合条件where的索引值,然后通过保存在索引中的ROWID(相当于页面),快速找到对应的记录。 所以,在适合的地方建立索引,能大大减少检索数据时间 什么时候建立索引? 所谓‘祸福相依’,索引的建立,虽然能大大减小检索时间,但是数据进行修改操作的时候,由于索引也会改变,所以会影响数据库性能 如果某个字段经常用来作为检索条件的时候,给该字段建立索引 需要保证每行数据唯一性的时候,创建唯一索引 表与表之间连接的时候,建立索引 由于索引的存储需要需要站物理空间,并且在对数据进行增、删、该的时候,索引需要动态维护,所以,索引不宜过多

2017-06-14 14:54:24

2015-12-03 14:55:57

2015-12-03 14:53:10

qwe

2015-11-18 21:33:25
dsa
nickname
content