开心123 发表于 2018-10-10 11:55:36

mysql——索引

  一、索引的简单操作(增删改查)
  创建索引
  CREATE INDEX index_name
  
  ON table_name (index_col_name,...)
  :表示创建索引的类型,分别表示唯一索引、全文索引、空间索引;
  :表示索引的类型,索引类型有BTREE索引和HASH索引。
  存储引擎为MyISAM和INNODB的表中只能使用BTREE;
  存储引擎为MEMORY和heap的表中可以使用BTREE索引和HASH索引
  注意:另一种创建索引语法
  ALTER TABLE table_name ADD INDEX (index_col_name,...)
  查看索引
  SHOW INDEX FROM table_name
http://blog.51cto.com/e/u261/themes/default/images/spacer.gif
  删除索引
  --删除指定表中指定名称的索引
  ALTER TABLE table_name DROP INDEX index_name;
  修改索引
  在mysql中没有提供修改索引的指令,一般情况下,直接删除原索引,重新建立同名索引即可。
  举例:增删改查索引:在那张表上执行add/drop那个索引
  //添加索引
  CREATE UNIQUE index index_prizecide on bsy_prizeinfo(prizecode);
  //查看索引
  show index from bsy_prizeinfo;
  //删除索引
  alter table bsy_prizeinfo drop index index_prizecode
  //添加索引
  alter table bsy_prizeinfo add UNIQUE indexindex_prizecode (prizecode);
  二、索引类型
  1)BTREE索引
  2)HASH索引
  3)空间索引
  4)全文索引
  三、索引策略
  正确创建和使用索引是实现高性能查询的基础。
  1)独立的列:索引列不能使表达式的一部分,也不能是函数的参数。
  举例:
  explain select * from emp where empno+1=100003;
  explain select SQL_NO_CACHE * from emp where TIMESTAMPDIFF(day,hiredate,now())
页: [1]
查看完整版本: mysql——索引