• Mysql 索引


    分类

    单列索引:一个索引只包含一列,一个表可以有多个单列索引
    唯一索引:索引列的值必须唯一
    复合索引:一个索引包含多个列
    全文索引:只在 MYINAM 引擎才能使用,并且只能在 CHAR VARCHAR TEXT 类型字段上使用
    空间索引:只在 MYINAM 引擎才能使用,并且只能在空间数据类型的字段添加索引

    创建

    CREATE INDEX 索引名 ON 表名 (字段1,字段2...)
    -- 创建一个复合索引,字段是 name 和 gender
    CREATE INDEX index_test ON students (name, gender)

    注:主键为自动创建唯一索引,主键本身不能重复,所以主键就唯一不重复了;外键会自动创建一个单列索引

    MEMORY 引擎用 HASH,INNODB 用 BTREE

    删除

    DROP INDEX 索引名 ON 表名

    查看

    SHOW INDEX FROM 表名

    示例:

    -- 如果 id 加了索引,速度会加快
    SELECT * FROM students WHERE id = 1;
    -- 如果 name 加了索引,速度会加快
    SELECT * FROM students WHERE name = 'Marry';
    -- 使用 EXPLAIN 可以查看该 sql 语句是否使用了索引,key 表示实际选用的索引
    EXPLAIN SELECT * FROM students WHERE id = 1;
  • 相关阅读:
    n皇后问题
    POJ2155 Matrix二维线段树经典题
    hiho一下 第六十六周
    hdu1754 I hate it线段树模板 区间最值查询
    hdu5481 Desiderium
    自增运算符
    hdu-1823 Luck and Love
    Oracle 函数大全
    对前台传过来的实体是否为空 进行为空校验的N种方法
    IOC和DI的区别详解
  • 原文地址:https://www.cnblogs.com/huanggy/p/9497215.html
Copyright © 2020-2023  润新知