zoukankan      html  css  js  c++  java
  • MySQL查询优化程序

    1.利用EXPLAIN 语句,查看是否用到索引:

    EXPLAIN SELECT * FROM tb1_name WHERE 1= 0

    2.下面的WHERE 子句说明了怎样进行这项工作。第一行中,优化程序将简化表达式4/2 为值2,然后使用my_col 上的索引快速地找到小于2 的值。而在第二个表达式中,MySQL必须检索出每行的my_col 值,乘以2,然后将结果与4 比较。没索引可用,因为列中的每个值都要检索,以便能对左边的表达式求值:

    WHERE my_col < 4/2
    WHERE my_col * 2 < 4

    3.在LIKE 模式的起始处不要使用通配符。有时,有的人会用下列形式的WHERE 子句来搜索串:

    WHERE col_name LIKE "%string%"
    如果希望找到s t r i n g,不管它出现在列中任何位置,那么这样做是对的。但不要出于习惯在串的两边加“ %”。如果实际要查找的只是出现在列的开始处的串,则不应该要第一个“%”号。例如,如果在一个包含姓的列中查找“ M a c”起始的姓,应该编写如下的WHERE 子句:
      WHERE last_name LIKE "Mac%"
    优化程序考虑模式中的开始的文字部分,然后利用索引找到相符合的行。不过宁可写成如下的表达式,它允许使用last_name 上的索引:
      WHERE last_name >= "Mac" AND last_name < "Mad"
    这种优化对使用REGEXP 操作符的模式匹配不起作用。
    时不我待,不负韶华!立刻行动!不吃学习的苦就会吃生活的苦!
  • 相关阅读:
    Populating Next Right Pointers in Each Node II
    Populating Next Right Pointers in Each Node
    Construct Binary Tree from Preorder and Inorder Traversal
    Construct Binary Tree from Inorder and Postorder Traversal
    Path Sum
    Symmetric Tree
    Solve Tree Problems Recursively
    632. Smallest Range(priority_queue)
    609. Find Duplicate File in System
    poj3159最短路spfa+邻接表
  • 原文地址:https://www.cnblogs.com/zrp2013/p/3957335.html
Copyright © 2011-2022 走看看