MySQL索引的创建.删除和查看 此文转自http://blogold.chinaunix.net/u3/93470/showart_2001536.html 1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率.特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍. 例如,有3个未索引的表t1.t2.t3,分别只包含列c1.c2.c3,每个表分别含有1000行数据组成,指为1-1000的数值,查找对应值相等行的查…
MySQL索引的概念    索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针.更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度.    索引分为聚簇索引和非聚簇索引两种,聚簇索引是按照数据存放的物理位置为顺序的,而非聚簇索引就不一样了:聚簇索引能提高多行检索的速度,而非聚簇索引对于单行的检索很快    要注意的是,建立太多的索引将会影响更新和插入的速度,因为它需要同样更新每个索引文件.对于一个经常需要更新和插入的…
1.索引查询 ------TABLE_SCHEMA  库名:TABLE  表名 ------AND UPPER(INDEX_NAME) != 'PRIMARY'  只查询索引,不需要主键 SELECTCONCAT('ALTER TABLE `',TABLE_NAME,'` ', 'ADD ', IF(NON_UNIQUE = 1, CASE UPPER(INDEX_TYPE) WHEN 'FULLTEXT' THEN 'FULLTEXT INDEX' WHEN 'SPATIAL' THEN 'S…
在执行CREATE TABLE语句时可以创建索引,也可以单独用CREATE INDEX或ALTER TABLE来为表增加索引. 1.ALTER TABLE ALTER TABLE用来创建普通索引.UNIQUE索引或PRIMARY KEY索引. ALTER TABLE table_name ADD INDEX index_name (column_list) ALTER TABLE table_name ADD UNIQUE (column_list) ALTER TABLE table_name…
首先,复习一下索引的创建: 普通的索引的创建: CREATE INDEX  (自定义)索引名  ON  数据表(字段); 复合索引的创建: CREATE INDEX  (自定义)索引名  ON  数据表(字段,字段,...); 删除索引:DROP INDEX 索引名; 以下通过explain显示出mysql执行的字段内容: id: SELECT 查询的标识符. 每个 SELECT 都会自动分配一个唯一的标识符. select_type: SELECT 查询的类型. table: 查询的是哪个表…
1. 创建索引 1.1 使用Alter创建索引 1 添加主键索引 特点:数据列不允许重复,不能为null,一张表只能有一个主键:Mysql主动将该字段进行排序 ALTER TABLE 表名 ADD Primary key (col); 添加唯一索引 特点:索引列是唯一的,可以null:Mysql主动将该字段进行排序 ALTER TABLE 表名 ADD unique <索引名> (col1, col2, ...col3); 添加普通索引 特点:添加普通索引, 索引值不唯一,可为null Alt…
官方文档: https://dev.mysql.com/doc/refman/5.7/en/explain-output.html#explain_rows type: 连接类型 system 表只有一行 const 表最多只有一行匹配,通用用于主键或者唯一索引比较时.如将主键置于where列表中,MySQL就能将该查询转换为一个常量 eq_ref 每次与之前的表合并行都只在该表读取一行,这是除了system,const之外最好的一种,特点是使用=,而且索引的所有部分都参与join且索引是主键或…
什么是索引? “索引”是为了能够更快地查询数据.比如一本书的目录,就是这本书的内容的索引,读者可以通过在目录中快速查找自己想要的内容,然后根据页码去找到具体的章节. 数据库也是一样,如果查询语句使用到了索引,会先去索引里面查询,取得数据所在行的物理地址,进而访问数据. 索引的优缺点 优势:以快速检索,减少I/O次数,加快检索速度:根据索引分组和排序,可以加快分组和排序: 劣势:索引本身也是表,因此会占用存储空间.索引的维护和创建需要时间成本,这个成本随着数据量增大而增大:构建索引会降低数据表的修…
normal:表示普通索引 unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为unique full textl: 表示 全文搜索的索引. FULLTEXT 用于搜索很长一篇文章的时候,效果最好.用在比较短的文本,如果就一两行字的,普通的 INDEX 也可以. 总结,索引的类别由建立索引的字段内容特性来决定,通常normal最常见. 在实际操作过程中,应该选取表中哪些字段作为索引? 为了使索引的使用效率更高,在创建索引时,必须考虑在哪些字段上创…
之前碰到过一个问题,本来数据量不大的一张表,查询结果反应特别慢,不知道是什么原因. 后来才得知,查询的反应速度与结果集大小有关.  结果集越小反应速度越快.…