作家
登录

优化SQL语句的一般步骤

作者: 来源: 2017-08-31 16:11:21 阅读 我要评论

  •     -> ) partition by hash (customer_id) partitions 8; 
  • Query OK, 0 rows affected (0.06 sec) 
  •  
  • MySQL [sakila]> insert into customer_part select * from customer; 
  • Query OK, 599 rows affected (0.06 sec) 
  • Records: 599  Duplicates: 0  Warnings: 0 
  •  
  • MySQL [sakila]> explain select * from customer_part where customer_id=130\G 
  • *************************** 1. row *************************** 
  •            id: 1 
  •   select_type: SIMPLE 
  •         table: customer_part 
  •    partitions: p2 
  •          type: const 
  • possible_keys: PRIMARY 
  •           keyPRIMARY 
  •       key_len: 2 
  •           ref: const 
  •          rows: 1 
  •      filtered: 100.00 
  •         Extra: NULL 
  • 1 row in set, 1 warnings (0.00 sec) 
  • 可以看到 sql 拜访的分区是 p2。

    四、经由过程 performance_schema 分析 sql 机能

    performance_schema 分析sql。

    五、经由过程 trace 分析优化器若何选择履行筹划。

    mysql5.6 供给了对 sql 的跟踪 trace,可以进一步懂得为什么竽暌古化器选择 A 履行筹划而不是 B 履行筹划,赞助我们更好的懂得优化器的行动。

    6. type=const/system,单表中最多有一个匹配行,查起来异常敏捷,所以这个匹配行中的其他列的值可以被优化器在当前萌芽中算作常量来处理,例如,根据主键 primary key 或者独一索引 unique index 进行萌芽。

    应用方法:起首打开 trace ,设置格局为 json,设置 trace 最大年夜可以或许应用的内存大年夜小,避免解析过程中因为默认内存过小而不克不及够完全显示。

    1. MySQL [sakila]> set optimizer_trace="enabled=on",end_markers_in_json=on
    2. Query OK, 0 rows affected (0.00 sec) 
    3.  
    4. MySQL [sakila]> set optimizer_trace_max_mem_size=1000000; 
    5. Query OK, 0 rows affected (0.00 sec) 

    mysql 客户端连接成功后,经由过程 show [session|global] status 敕令可以供给办事器状况信息,也可以在操作体系上应用 mysqladmin extend-status 敕令获取这些消息。

    接下来履行想做 trace 的 sql 语句,例如像懂得租赁表 rental 中库存编号 inventory_id 为 4466 的片子拷贝在出租日期 rental_date 为 2005-05-25 4:00:00 ~ 5:00:00 之间出租的记录:

    1. mysql> select rental_id from rental 

        推荐阅读

        远胜微软谷歌等翻译器 | 基于神经网络和超级计算机的DeepL Translator

      Microsoft Translator是微软旗下的翻译对象,痊愈客岁成功切换至神经网路。当时,微软表示比拟较今朝行业内主流的统计机械翻译(SMT)技巧,神经收集架构可以或许大年夜幅晋升翻译质量。德>>>详细阅读


      本文标题:优化SQL语句的一般步骤

      地址:http://www.17bianji.com/lsqh/37055.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)