• Navicat设置MySQL索引+MySQL索引知识


    引用:

    https://www.cnblogs.com/bypp/p/7755307.html

    https://blog.csdn.net/resilient/article/details/82829820

    查看当前MySQL存储引擎:

    mysql> show engines;

    教程:https://www.cnblogs.com/zhming26/p/6322353.html

    #0 Navicat操作位置:

    #1 索引种类:

    1. Fulltext 全文本搜索索引:用于搜索长篇文章。

    2. Unique 唯一索引:  

    1.  
      主键索引:primary key :加速查找+约束(不为空且唯一)
    2.  
      唯一索引:unique:加速查找+约束 (唯一)

    3. 联合索引:

    1.  
      -primary key(id,name):联合主键索引
    2.  
      -unique(id,name):联合唯一索引
    3.  
      -index(id,name):联合普通索引

    4. Normal 普通索引:加快搜索。

    5. Spatial 空间索引。

    #2 索引功能

    1. 加快搜索;

    2. mysql中的primary key,unique,联合唯一也都是索引,这些索引除了加速查找以外,还有约束的功能

    #3 索引的两大类型hash与btree

    1.  
      #我们可以在创建上述索引的时候,为其指定索引类型,分两类
    2.  
      hash类型的索引:查询单条快,范围查询慢
    3.  
      btree类型的索引:b+树,层数越多,数据量指数级增长(我们就用它,因为innodb默认支持它)
    4.  
       
    5.  
      #不同的存储引擎支持的索引类型也不一样
    6.  
      InnoDB 支持事务,支持行级别锁定,支持 B-tree、Full-text 等索引,不支持 Hash 索引;
    7.  
      MyISAM 不支持事务,支持表级别锁定,支持 B-tree、Full-text 等索引,不支持 Hash 索引;
    8.  
      Memory 不支持事务,支持表级别锁定,支持 B-tree、Hash 等索引,不支持 Full-text 索引;
    9.  
      NDB 支持事务,支持行级别锁定,支持 Hash 索引,不支持 B-tree、Full-text 等索引;
    10.  
      Archive 不支持事务,支持表级别锁定,不支持 B-tree、Hash、Full-text 等索引;

    1)索引方法 btree  可以用于“ >、 <  、=”查询 ,如果查id=1000的数据 建立索引后 二分查找最多13次就可以查出相应的数据;

    2)hash 不能做order by排序 不能做 用like模糊查询。

    #4 慢查询优化的基本步骤

    1.  
      0.先运行看看是否真的很慢,注意设置SQL_NO_CACHE
    2.  
      1.where条件单表查,锁定最小返回记录表。这句话的意思是把查询语句的where都应用到表中返回的记录数最小的表开始查起,单表每个字段分别查询,看哪个字段的区分度最高
    3.  
      2.explain查看执行计划,是否与1预期一致(从锁定记录较少的表开始查询)
    4.  
      3.order by limit 形式的sql语句让排序的表优先查
    5.  
      4.了解业务方使用场景
    6.  
      5.加索引时参照建索引的几大原则
    7.  
      6.观察结果,不符合预期继续从0分析

    -

    转 https://blog.csdn.net/weixin_41827162/article/details/87891221

  • 相关阅读:
    【转载】uboot的工具mkimage使用方法
    u-boot-2010.3移植到Tiny6410问题总结
    【转载】 GNU GCC 选项说明
    【转载】GCC 预处理器选项
    用kermit通过串口往nandflash任意地址里烧写任何文件!
    自己写Tiny6410的Bootloader总结!
    ARM常用汇编指令介绍
    Ubuntu14.04和Tiny6410挂载NFS服务!
    Tiny 6410的Linux学习总结!
    Tiny6410下的第一个Linux驱动程序
  • 原文地址:https://www.cnblogs.com/wl-blog/p/15190111.html
Copyright © 2020-2023  润新知