• 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 操作符的模式匹配不起作用。
    复制代码
  • 相关阅读:
    Panel内嵌入子窗体
    Dictionary绑定到ComboBox显示值,实际值
    WinFrom 窗体内嵌子窗体
    Task基础创建Task,Task传参,获取Task返回值
    Task的休眠
    ThreadLocal 弱引用和内存泄漏
    ThreadLocal核心方法源码分析
    ThreadLocal实现原理、内部结构
    ThreadLocalMap源码分析
    ribbon & feign个性化配置
  • 原文地址:https://www.cnblogs.com/llwbxzg/p/4569712.html
Copyright © 2020-2023  润新知