索引

来源:互联网 发布:qq酷双项淘宝客真的吗 编辑:程序博客网 时间:2024/05/29 04:14

B-tree 参考

http://www.cnblogs.com/coder2012/p/3330311.html


mysql索引应用 参考

http://blog.csdn.net/xluren/article/details/32746183


理解mysql与索引优化

http://www.cnblogs.com/hustcat/archive/2009/10/28/1591648.html


mysql的索引类型

1. 普通索引
这是最基本的索引,它没有任何限制,比如上文中为title字段创建的索引就是一个普通索引,MyIASM中默认的BTREE类型的索引,也是我们大多数情况下用到的索引。

–直接创建索引CREATE INDEX index_name ON table(column(length))–修改表结构的方式添加索引ALTER TABLE table_name ADD INDEX index_name ON (column(length))–创建表的时候同时创建索引CREATE TABLE `table` (`id` int(11) NOT NULL AUTO_INCREMENT ,`title` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,`content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL ,`time` int(10) NULL DEFAULT NULL ,PRIMARY KEY (`id`),INDEX index_name (title(length)))–删除索引DROP INDEX index_name ON table

2. 唯一索引
与普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值(注意和主键不同)。如果是组合索引,则列值的组合必须唯一,创建方法和普通索引类似。

–创建唯一索引CREATE UNIQUE INDEX indexName ON table(column(length))–修改表结构ALTER TABLE table_name ADD UNIQUE indexName ON (column(length))–创建表的时候直接指定CREATE TABLE `table` (`id` int(11) NOT NULL AUTO_INCREMENT ,`title` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,`content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL ,`time` int(10) NULL DEFAULT NULL ,PRIMARY KEY (`id`),UNIQUE indexName (title(length)));