简单介绍MySQL中索引的使用方法 |
本文标签:MySQL,索引 数据库索引是一个数据结构,提高操作的速度,在一个表中可以使用一个或多个列,提供两个快速随机查找和高效的顺序访问记录的基础创建索引 。 在创建索引时,它应该被认为是将SQL查询的那些列上创建一个或多个索引的列 。 实际上,指数也保持主键或索引字段和指针的实际表中每条记录的表型 。 用户无法看到索引,它们只是用来加快查询速度,将用于数据库搜索引擎找到的记录速度非常快 。 INSERT和UPDATE语句表上的索引需要更多的时间,成为快速对这些表的SELECT语句 。究其原因是,当进行插入或更新,数据库以及需要惰性或更新索引值 。 可以创建一个唯一索引的表 。唯一的索引意味着两个行不能拥有相同的索引值 。这里是语法来创建索引的表 CREATE UNIQUE INDEX index_name ON table_name ( column1, column2,...); 可以使用一个或多个列上创建索引 。例如,我们可以创建一个索引的使用在表tutorials_tbl的tutorial_author列上 CREATE UNIQUE INDEX AUTHOR_INDEX ON tutorials_tbl (tutorial_author) 可以创建一个简单的索引的表 。只要省略UNIQUE关键字的查询创建一个简单的索引 。简单的索引允许重复表中的值 。 如果你想在一列以降序索引值,可以在列名后添加保留字DESC: mysql> CREATE UNIQUE INDEX AUTHOR_INDEX ON tutorials_tbl (tutorial_author DESC) ALTER命令添加和删除索引: 有四种类型的语句表添加索引:
下面是这个例子,在现有的表添加索引 。 mysql> ALTER TABLE testalter_tbl ADD INDEX (c); 可以删除任何INDEX通过使用DROP子句和使用ALTER命令 。试试下面的例子上面创建的索引下降 。 mysql> ALTER TABLE testalter_tbl DROP INDEX (c); 可以删除任何INDEX通过使用DROP子句t和使用ALTER命令 。试试下面的例子上面创建的索引x 。 您可以添加主键,以及在相同的方式中 。但要确保主键这是NOT NULL的列上 。 这是在现有的表添加主键的例子 。这将NOT NULL列,然后将其添加为一个主键 。 mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL; mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i); 可以使用ALTER命令删除主键如下: mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY; 要删除索引,这不是一个PRIMARY KEY,所以必须指定索引的名称 。 您可以使用SHOW INDEX命令,列出所有相关联的索引表 。垂直格式输出(指定由\ G)往往是有用的这句话,以避免长时间行重叠: 试试下面的例子: mysql> SHOW INDEX FROM table_name\G ........
|