MySQL中索引的简介
在MySQL中,索引(index)也叫做“键(key)”,它是存储引擎用于疾速找到纪录的一种数据结构。
索引关于优越的机能异常症结,尤其是当表中的数据量越来越大时,索引对机能的影响就愈发重要。
索引优化应该是对查询机能优化最有用的手腕,建立一个真正最优的索引常常须要重写SQL查询语句。
索引的事情道理
要明白MySQL中索引的事情道理,最简朴的要领就是去看一看一本书的索引部份:比方你想在一本书中寻觅某个主题,平常会先看书的索引目次,找到对应的章节、对应的页码后就能够疾速找到你想看的内容。
在MySQL中,存储引擎用相似的要领运用索引,其先在索引中查找对应的值,然后依据婚配的索引纪录找到对应的数据行,末了将数据效果集返回给客户端。
索引的范例
在MySQL中,一般我们所指的索引范例,有以下几种:
通例索引,也叫一般索引(index或key),它能够通例地进步查询效力。一张数据表中能够有多个通例索引。通例索引是运用最广泛的索引范例,假如没有明白指明索引的范例,我们所说的索引都是指通例索引。
主键索引(Primary Key),也简称主键。它能够进步查询效力,并供应唯一性束缚。一张表中只能有一个主键。被标志为自动增进的字段一定是主键,但主键不一定是自动增进。平常把主键定义在无意义的字段上(如:编号),主键的数据范例最好是数值。
唯一索引(Unique Key),能够进步查询效力,并供应唯一性束缚。一张表中能够有多个唯一索引。
全文索引(Full Text),能够进步全文搜刮的查询效力,平常运用Sphinx替换。但Sphinx不支撑中文检索,Coreseek是支撑中文的全文检索引擎,也称作具有中文分词功用的Sphinx。现实项目中,我们用到的是Coreseek。
外键索引(Foreign Key),简称外键,它能够进步查询效力,外键会自动和对应的其他表的主键关联。外键的重要作用是保证纪录的一致性和完整性。
注重:只要InnoDB存储引擎的表才支撑外键。外键字段假如没有指定索引称号,会自动生成。假如要删除父表(如分类表)中的纪录,必须先删除子表(带外键的表,如文章表)中的响应纪录,不然会失足。 建立表的时刻,能够给字段设置外键,如 foreign key(cate_id) references cms_cate(id),因为外键的效力并非很好,因而并不引荐运用外键,但我们要运用外键的思想来保证数据的一致性和完整性。
数据库索引的位置
默许是这里 (数据库装置目次\data\某个数据库 )中的数据库文件不像sqlserver,数据库文件都有后缀
比方:
数据文件:. myd
索引文件:. MYI
表定义文件:. frm
以上就是mysql索引在什么位置的细致内容,更多请关注ki4网别的相干文章!