zoukankan      html  css  js  c++  java
  • SQL查询优化

    在数据库SQL性能优化中,查询优化所占比较高。select调优基本还是比较耗时的。所以我整理了一些提示。每当我在写查询语句的时候,总会看看是否满足这些提示清单。

    1.要为WHERE 和JOIN后面的字段创建索引。

    不过你可以去测试下你这部分基础知识过关了没? the 3-Minute SQL performance test

    2.只select你需要的字段,若无必要,勿增实体。

    3.限制你的工作数据集的大小

    就是限制查询范围,用范围来取代

    4.移除不需要的表

    本质上跟建议2是一样的,若无必要,勿增实体。什么是不需要的表,就是移除的表不会对你需要的查询的结果产生任何影响。这个工程一旦大了,只要功能正确,很多人就不review自己的SQL脚本了,这就像dead code放在那里碍事儿。

    5.移除OUTER JOINS

    以上的表是关联的,第二张表最好把NULL用表示“空”的占位符替换。改成以下这样:

    这样你不但移除了OUTER JOINS,在意图上也让销售人员没有客户的情况下,找到了标准表述。开发者也不会再写下这样的SQL语句了:ISNULL(customer_id, “No customer yet”).

    6.在WHERE和JOIN中移除需要计算的字段

    references:
    http://www.infoworld.com/article/2604472/database/10-more-dos-and-donts-for-faster-sql-queries.html

    https://dzone.com/articles/6-simple-performance-tips-sql

    http://www.infoworld.com/article/2628420/database/database-7-performance-tips-for-faster-sql-queries.html

  • 相关阅读:
    sentinel-initFunc&控制台
    Sentinel-FlowSlot
    Sentinel-AuthoritySlot&SystemSlot&LogSlot
    Sentinel-DegradeSlot
    Sentinel-ClusterBuilderSlot
    Sentinel-NodeSelectorSlot
    Sentinel整体架构
    Recyclers对象池设计
    加密算法的使用场景
    FastDFS分布式
  • 原文地址:https://www.cnblogs.com/foohack/p/5331992.html
Copyright © 2011-2022 走看看