mysql 索引管理:SHOW INDEX语法 查看索引状态

SHOW INDEX FROM tbl_name [FROM db_name]

  SHOW INDEX会返回表索引信息。其格式与ODBC中的SQLStatistics调用相似。

  SHOW INDEX会返回以下字段:

  · Table

  表的名称。

  · Non_unique

  如果索引不能包括重复词,则为0。如果可以,则为1。

  · Key_name

  索引的名称。

  · Seq_in_index

  索引中的列序列号,从1开始。

  · Column_name

  列名称。

  · Collation

  列以什么方式存储在索引中。在MySQL中,有值‘A’(升序)或NULL(无分类)。

  · Cardinality

  索引中唯一值的数目的估计值。通过运行ANALYZE TABLE或myisamchk -a可以更新。基数根据被存储为整数的统计数据来计数,所以即使对于小型表,该值也没有必要是精确的。基数越大,当进行联合时,MySQL使用该索引的机会就越大。

  · Sub_part

  如果列只是被部分地编入索引,则为被编入索引的字符的数目。如果整列被编入索引,则为NULL。

  · Packed

  指示关键字如何被压缩。如果没有被压缩,则为NULL。

  · Null

  如果列含有NULL,则含有YES。如果没有,则该列含有NO。

  · Index_type

  用过的索引方法(BTREE, FULLTEXT, HASH, RTREE)。

  · Comment

  多种评注。

  您可以使用db_name.tbl_name作为tbl_name FROM db_name语法的另一种形式。这两个语句是等价的:

  mysql> SHOW INDEX FROM mytable FROM mydb;

  mysql> SHOW INDEX FROM mydb.mytable;

  SHOW KEYS是SHOW INDEX的同义词。您也可以使用mysqlshow -k db_name tbl_name命令列举一个表的索引。

  SHOW INNODB STATUS语法

  SHOW INNODB STATUS

  在MySQL 5.1中,这是SHOW ENGINE INNODB STATUS的同义词,但不赞成使用。

—————————————————————————————————-

创建 MySQL 索引

创建 MySQL 索引可以使用 CREATE TABLE 命令在创建表时同时创建索引,也可以在创建表以后使用 CREATE INDEX 或 ALTER TABLE 命令,我们将一一讲解这三种语法。

2008-06-02 12:12

创建 MySQL 索引

创建 MySQL 索引可以使用 CREATE TABLE 命令在创建表时同时创建索引,也可以在创建表以后使用 CREATE INDEX 或 ALTER TABLE 命令,我们将一一讲解这三种语法。

使用 CREATE TABLE 创建索引

我们先看看使用 CREATE TABLE 在创建表的同时为表指定索引:

CREATE TABLE titles ( titleID …, title …, publID …, year …, PRIMARY KEY \dots, INDEX idxtitle (title))

这里我们创建了 titles 表,我们忽略了一些创建表的具体细节,为 title 列创建了索引,指定该索引的名称为 idxtitle。

使用 CREATE INDEX 创建索引

如果要为已存在的表创建索引,就需要使用 CREATE INDEX 命令或 ALTER TABLE 来创建索引。

CREATE INDEX idxtitle ON title (title)

这条命令将创建与 CREATE TABLE 命令相同的索引。

使用 ALTER TABLE 创建索引

ALTER TABLE titles ADD INDEX idxtitle (title)

查看和删除索引

我们可以使用以下命令来查看已存在的索引:

SHOW INDEX FROM tablename

DROP INDEX indexname ON tablename

DROP INDEX 将删除 tablename 表上的 indexname 索引,indexname 就是我们创建表时指定的索引名。

发表评论?

0 条评论。

发表评论