LAMP攻略之MySQL索引(1)


LAMP 

图-LAMP

LAMP下的MySQL索引如下:

在数据库表中,对字段建立索引可以大大提高查询速度。假如我们创建了一个 mytable表:

  1. CREATE TABLE mytable(  
  2.  
  3. ID INT NOT NULL,  
  4.  
  5. username VARCHAR(16) NOT NULL  
  6.  
  7. );  
  8.  

我们随机向里面插入了10000条记录,其中有一条:5555, admin。

在查找username="admin"的记录 SELECT * FROM mytable WHERE username='admin';时,如果在username上已经建立了索引,MySQL无须任何扫描,即准确可找到该记录。相反,MySQL会扫描所有记录,即要查询10000条记录。

索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引,即一个索包含多个列。

索引的类型包括:

(1)普通索引这是最基本的索引,它没有任何限制。它有以下几种创建方式:

创建索引

  1. CREATE INDEX indexName ON mytable(username(length));  
  2.  

如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是BLOB和TEXT类型,必须指定 length,下同。

修改表结构

  1. ALTER mytable ADD INDEX [indexName] ON (username(length))  
  2.  

创建表的时候直接指定

  1. CREATE TABLE mytable(  
  2.  
  3. ID INT NOT NULL,  
  4.  
  5. username VARCHAR(16) NOT NULL,  
  6.  
  7. INDEX [indexName] (username(length))  
  8.  
  9. );  
  10.  

删除索引的语法:

  1. DROP INDEX [indexName] ON mytable;  
  2.  


相关内容