zoukankan      html  css  js  c++  java
  • MySQL自成一派的查询提示

    查询提示

      MySQL中可以给select语句各种提示,比如告诉它“查询的结果集特别大,请直接用磁盘临时表”,“请让这条select优先执行” ....

    查询提示:与结果集相关

      与结果集相关的查询提示只有两个“distinct”,“all

      1): distinct 表示去掉重复行

      2): all 表示不要去重(也就是说默认的就是all)

    select all id,name from person ;                                                            
    +----+------+
    | id | name |
    +----+------+
    |  1 |  123 |
    +----+------+
    1 row in set (0.00 sec)

    查询提示:操作相关提示

      这类提示有两个“high_priority”,“straight_join”;个人感觉这两个名字起的特别好,特别的见名知意。

      1): high_priority 让这条查询语句优先执行

      2): straight_join 以select中表出现的次序为join的次序,这种情况只应该出现在DBA确定优化器给出的执行计划有问题的情况下“钦定”用的

    select high_priority * from person;                                                         
    +----+------+
    | id | name |
    +----+------+
    |  1 |  123 |
    +----+------+
    1 row in set (0.00 sec)

    查询提示:sql_打头的提示

      1): sql_small_result 告诉MySQL当前select的语句返回的结果集比较小

      2): sql_big_result   告诉MySQL当前的select语句返回的结果集比较大

      这两个查询提示直接影响到了对“临时表”使用情况,sql_small_result MySQL使用内存临时表,sql_big_result 使用磁盘临时表。

    select sql_big_result * from person;                                                        
    +----+------+
    | id | name |
    +----+------+
    |  1 |  123 |
    +----+------+
    1 row in set (0.00 sec)

       3): sql_buffer_reuslt 使用临时表保存结果集,这个提示的主要目的是尽可能早的释放锁

    select sql_buffer_result * from person;
    +----+------+
    | id | name |
    +----+------+
    |  1 |  123 |
    +----+------+
    1 row in set (0.00 sec)

      4): sql_cachesql_no_cache 这两个是与查询缓存相关的提示在mysql-8.0.x版本中查询缓存这个功能已经被“砍掉”了。

    学习交流

    -----------------------------http://www.sqlpy.com-------------------------------------------------

    -----------------------------http://www.sqlpy.com-------------------------------------------------

  • 相关阅读:
    Object: Date对象——时间的设置和返回
    CSS基础知识-常用属性(updating)
    图像
    一些基础名词及含义(更新中)
    HTML常用元素合集(更新中)
    HTML小贴士-tips1
    HTML&CSS基础(一):基本格式(更新中)
    vue 轮播图显示三张图片,图片居中显示
    移动端 rem自适应布局 (750的设计稿)
    vue axios 在ios 中不执行回调(vconsole中status为0)
  • 原文地址:https://www.cnblogs.com/JiangLe/p/9671096.html
Copyright © 2011-2022 走看看