一、索引的定义
对数据库最频繁的操作是进行数据查询。一般情况下,数据库在进行查询操作时需要对整个表进行数据搜索。当表中的数据很多时,搜索数据就需要很长的时间,这就造成了服务器的资源浪费。为了提高检索数据的能力,数据库引入了索引机制。
索引是一个列表,这个列表中包含了某个表中一列或若干列的集合以及这些值的记录在数据表中存储位置的物理地址。
表的存储由两部分组成,一部分是表的数据页面,另一部分是索引页面。索引就放在索引页面上。通常,索引页面相对于数据页面小得多。
二、索引的作用
当进行数据检索时,系统先搜索索引页面,从中找到所需数据的指针,再直接通过指针从数据页面中读取数据。
可以把数据库看作一本书,把索引看作书的目录,通过目录查找书中的信息,显然比查找没有目录的书要方便、快捷
不使用索引的情况下,MySQL检索记录时必须从第1条记录开始然后读完整个表直到找出相关的行。表越大,花费的时间越多。如果表中查询的字段有一个索引,MySQL能快速到达一个位置去搜寻到数据,没有必要看所有数据。