day07-2MySQL索引( 二 )

  • 删除索引
    DROP INDEX id_name ON table_name;alter table table_name drop index index_name;
  • 删除主键索引
    ALTER TABLE table_name DROP PRIMARY KEY;
  • 查询索引(三种方式)
    show index(es) from table_name;show keys from table_name;desc table_name;
  • 例子
    -- 演示mysql索引的使用-- 创建索引CREATE TABLE t25( id INT, `name` VARCHAR(32));-- 1.查询表是否有索引SHOW INDEXES FROM t25;-- 2.添加索引-- 2.1添加唯一索引CREATE UNIQUE INDEX id_index ON t25 (id);-- 2.2添加普通索引CREATE INDEX name_index ON t25 (`name`);-- 如何选择?-- 如果某列的值不会重复,则优先考虑使用unique索引,否则使用普通索引-- 添加普通索引方式2ALTER TABLE t25 ADD INDEX id_index (id);-- 2.3添加主键索引CREATE TABLE t26( id INT, `name` VARCHAR(32));ALTER TABLE t26 ADD PRIMARY KEY(id);SHOW INDEXES FROM t26;-- 删除索引DROP INDEX id_index ON t25;DROP INDEX name_index ON t25;-- 删除主键索引ALTER TABLE t26 DROP PRIMARY KEY;-- 修改索引:先删除,再添加新的索引-- 查询索引-- 方式1SHOW INDEX FROM t25;-- 方式2SHOW INDEXES FROM t25;-- 方式3SHOW KEYS FROM t25;-- 方式4DESC t25;
    • 练习

    day07-2MySQL索引

    文章插图
    day07-2MySQL索引

    文章插图
    day07-2MySQL索引

    文章插图
    3.小结那些列上适合使用索引?
    1. 较频繁地作为查询条件的字段应该创建索引
    2. 唯一性太差的字段不适合单独创建索引
    3. 更新非常频繁的字段不适合创建索引
    4. 不会出现在where子句中的字段不该创建索引

    推荐阅读