索引


     1,提高查询效率,查询方法

     一、普通索引,index

      创建方法:

      1.CREATE INDEX indexName ON tableName(column(length));

      2.ALTER table ** ADD INDEX [indexName] (column(length))

      3.CREATE TABLE mytable(

  ID INT NOT NULL,         

  username VARCHAR(16) NOT NULL,        

  INDEX [indexName] (column(length))       );

      删除方法:

      DROP INDEX [indexName] ON mytable;

     二、唯一索引(索引列的值必须唯一,但允许有空值)unique

      CREATE UNIQUE INDEX indexName ON mytable(column(length))

     三、主键索引(primary key)

  CREATE TABLE mytable(         

ID INT NOT NULL,          

username VARCHAR(16) NOT NULL,         

PRIMARY KEY(ID)          );

     四、组合索引

      ALTER TABLE mytable ADD INDEX name_city_age (name(10),city,age);

     五、什么时候建立索引

      where <,<=,=,>,>=,BETWEEN,IN ,like

     六、索引的不足

  •   1.提高查询速度,但是会降低insert,update,delete速度,因为不仅要保存数据,还要保存索引      
  • 2.建立索引会占用磁盘空间的索引文件,如果建立太多,索引会很大

     七、注意

  • 1.索引不会包含有null值得列      
  • 2.使用短索引char(255),可以只取前10位      
  • 3.索引列排序        MySQL只使用一个索引,如果where使用了,那么orderby就不会使用    
  • 4.like语句操作        like “%abc%”不会使用索引        like “abc%” 会使用      
  • 5.不要在列运算        select * from users where YEAR(adddate)<2007;这样索引会失效        改为        select * from users where adddate<‘2007-01-01′;


发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注