LAMP攻略之MySQL索引(1)
LAMP攻略之MySQL索引(1)
图-LAMP
LAMP下的MySQL索引如下:
在数据库表中,对字段建立索引可以大大提高查询速度。假如我们创建了一个 mytable表:
- CREATE TABLE mytable(
- ID INT NOT NULL,
- username VARCHAR(16) NOT NULL
- );
我们随机向里面插入了10000条记录,其中有一条:5555, admin。
在查找username="admin"的记录 SELECT * FROM mytable WHERE username='admin';时,如果在username上已经建立了索引,MySQL无须任何扫描,即准确可找到该记录。相反,MySQL会扫描所有记录,即要查询10000条记录。
索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引,即一个索包含多个列。
索引的类型包括:
(1)普通索引这是最基本的索引,它没有任何限制。它有以下几种创建方式:
创建索引
- CREATE INDEX indexName ON mytable(username(length));
如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是BLOB和TEXT类型,必须指定 length,下同。
修改表结构
- ALTER mytable ADD INDEX [indexName] ON (username(length))
创建表的时候直接指定
- CREATE TABLE mytable(
- ID INT NOT NULL,
- username VARCHAR(16) NOT NULL,
- INDEX [indexName] (username(length))
- );
删除索引的语法:
- DROP INDEX [indexName] ON mytable;
评论暂时关闭