zoukankan      html  css  js  c++  java
  • MySQL 5.6 SQL 优化及 5.6手册

    http://blog.chinaunix.net/uid-259788-id-4146363.html

    http://www.cnblogs.com/Amaranthus/p/4028687.html   MYSQL 5.6手册

    http://www.cnblogs.com/hustcat/category/214566.html   YY哥

    http://blog.163.com/li_hx/blog/static/18399141320150253652874/ 那海蓝蓝

    http://tech.it168.com/a2013/0506/1479/000001479749.shtml

    http://www.server110.com/mariadb/201310/2245.html

    http://www.cnblogs.com/zhoujinyi/p/4746483.html

    http://www.codesec.net/view/159821.html
    1. mrr
       mrr_cost_based
           这个是从MySQL 5.6 开始增加的开关。  意思是针对普通索引把资源利用最大化,主要是针对多列索引,也叫组合索引来做基本扫描,然后对匹配的记录按照主键排序,这样按照有序的主键顺序从磁盘上扫描需要的全部记录。 根本功能是把对磁盘的随机扫描转化为顺序扫描。
    主要针对的是数据太大,放不到CACHE里面(比如INNODB,或者MYISAM)。  目前对全索引扫描意义不大。


    2. batched_key_access
    (在JOIN BUFFER POOL里)当内表被扫描后,针对扫描到的记录,找到对应的主键值并且一次**给MRR接口。省掉了频繁跟磁盘交互的IO部分。


    3. block_nested_loop
    (在JOIN BUFFER POOL里)当内表被扫描后,针对原来的记录加上一个是否匹配标记,生成新的记录。这样下次外表的值如果再来遍历内表,就只扫描不匹配的即可。省掉部分CPU资源。


    4. index_condition_pushdown
    不开启: 对于组合索引(A,B)来说,如果A可以用到索引,B不能用到,那么只能在索引树上找到A,然后再用A对应的指针到磁盘上遍历数据。
    开启后: 同样对于组合索引(A,B)来说,如果A可以用到索引,B不能用到,那么在索引树上找到A,然后再通过B的过滤条件在索引树上进行过滤,删选后的指针到磁盘上遍历数据。
    但是ICP并不能把随机扫描变为顺序扫描,只是减少了对磁盘交互的IO部分。

    http://blog.csdn.net/wang1518037965/article/details/46550807


    5. use_index_extensions
    主要用于INNODB的第二索引,也就是普通的索引,把索引中包含的主键值利用到。比如主键为(a,b),索引为(c). 如果用到了索引c,那么把索引变成(c,a,b) 这样,就可以用到新的组合索引了。
    不过这种场合用的也比较少,一般是根据组合主键中的第一个字段和普通索引一起来做检索的时候。


    6. semijoin
    表示在连接的时候内表去重的过程 。
    比如对以下的查询,a.class_id 就只需要扫描一次和b.id相同的记录就可以不在继续了。因为不需要关心b表里面是否有多少相同的class_id,只需要知道有还是没有就行了。
    所以一般用在对子查询的优化居多。
    http://www.cnblogs.com/xiaotengyi/p/3908347.html

    http://www.linuxidc.com/Linux/2015-05/117523.htm

    7. firstmatch
    只选用内表的第一条与外表匹配的记录。


    8. loosescan
    把内表的数据基于索引分组,取每组第一条数据即可。


    9. materialization
        subquery_materialization_cost_based
    把内表去重然后生成有对应索引的临时表(有点类似其他数据中的物化视图),然后通过外表的对应键值遍历这张临时表。
    主要针对不能抓华为半连接的检索类型。

  • 相关阅读:
    现在分词和过去分词
    VMware Workstation Ubuntu 20.04 LTS无法连接网络问题
    Java中定时器Timer致命缺点(附学习方法)
    2020 年度编程语言排行榜出炉!C 语言称霸,Java 遭遇滑铁卢…….
    人工智能必备数学基础:线性代数基础(1)
    初学VBA
    何同学新视频火了!找到减少沉迷手机的最佳方法:附免费APP
    支付宝蚂蚁森林下线能量提醒功能 产品经理:被骂了、我改
    可抵御所有已知黑客攻击 中国组建天地一体化量子通信网络
    MYSQL数据库 增删改查基础语句
  • 原文地址:https://www.cnblogs.com/zengkefu/p/5630769.html
Copyright © 2011-2022 走看看