zoukankan      html  css  js  c++  java
  • mysql二级索引

    聚集索引叶子节点存放记录

    非聚集索引叶子节点存放key和主键信息
    二级索引查找比聚集索引慢,需要回表
    IOT表
    拆表
    人肉回表
    myisam索引是堆表 也是有序的
    myisam主键和唯一索引的效率相当,不需要再回表
    数据文件地址修改了,IOT不需要修改
    myisam适合读的应用 innodb适合写
    IOT页内记录有序 页与页也逻辑有序,做range查询很快
    堆表记录是无序的
    复合索引 不一定b是不能查询的,索引覆盖
    5.8做全局索引

    multi range read(mrr)mysql5.6/mariadb5.3

    加入b+树的高度是3,每个页存100页记录,走聚集索引只要100个页(100次io)如果走二级索引,每个页都要回一次表,每次有3个io,总共3万次io
    3+二级索引页数+3*10000
    5.5回表代价特别大
    5.6mrr 随机转顺序 空间换时间
    放满了排序 然后顺序去查      这个内存有多大呢read_rnd_buffer_size(线程变量)
    ssd多线程读才能很大的iops
    mysql一个查询只有一个线程
    io-bound sql
     
    mrr_cost_based必须要关掉mrr才能生效
    hexdump --help

    innodb_sys_indexes innodb_sys_tables

  • 相关阅读:
    werfault进程使用CPU率高
    oracel 拆分字符串
    TCP TIME WAIT
    netstat 命令
    Java 理论与实践: 并发集合类
    DIV与SPAN之间有什么区别
    oracle超出打开游标的最大数的原因和解决方案
    Quartz表达式
    Axis创建webservice客户端和服务端
    Web服务cxf框架发布2
  • 原文地址:https://www.cnblogs.com/lvjinping/p/9320932.html
Copyright © 2011-2022 走看看