MySQL索引的创建和删除
演示添加单表里面常用的5种类型的索引:
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";
-- --------------------------------------------------------
--
-- 表的结构 `test`
--
DROP TABLE IF EXISTS `test`;
CREATE TABLE IF NOT EXISTS `test` (
`id` int NOT NULL AUTO_INCREMENT,
`title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`content` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
COMMIT;
(varchat需要一定长度限制,如果是2个字段名的组合索引,每个为200字节)
普通索引:alter table test add index name1 (title);
组合索引:alter table test add index name2 (title, content);
唯一索引:alter table test add unique name3 (title);
全文索引:alter table test add fulltext name4 (content);
主键索引:alter table test add primary key name5 (id);
除主键外,删除统一采用index关键字:drop index name1 on test;
下一页: MySQL InnoDB的主键索引和非主键索引的查找过程,主键自增索引的优势
发表回复