mysql索引相关

  • 创建、修改、删除索引

    CREATE INDEX index_name ON table_name (column_list)
    CREATE UNIQUE INDEX index_name ON table_name (column_list)
    
    ALTER TABLE table_name ADD INDEX index_name (column_list) 
    ALTER TABLE table_name ADD UNIQUE (column_list)
    ALTER TABLE table_name ADD PRIMARY KEY (column_list)
    
    DROP INDEX index_name ON talbe_name
    ALTER TABLE table_name DROP INDEX index_name
    
    或直接使用Navicat -> 设计表 -> 索引 方式修改
    
  • 不走索引情况汇总

    • 联合索引查询时条件没有按照从左到右的顺序查询,导致联合索引断了

    • 查询的数据大于全表的2/3,此时mysql引擎会直接全表扫描

    • 索引列区分度较小,如:200万条数据中查询的字段重复度非常高,统计业务中好评领券数统计时出现该问题

    • 强制索引 FORCE INDEX(index_name) mysql强制使用索引

  • 慢查询问题

    • MySQL Sending data导致查询很慢的问题详细分析
    • 关于MySQL 通用查询日志和慢查询日志分析
    • MySQL慢查询优化 EXPLAIN详解
    • mysql优化——show processlist命令详解

你可能感兴趣的:(mysql索引相关)