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]