zoukankan      html  css  js  c++  java
  • 索引-1

    SELECT * FROM test_tab WHERE name = 一个外部输入的数据
    刚开始,数据不多的时候,执行效果还不错。
    随着数据量的增加,这个查询,执行起来,越来越慢了。
    然后在 name 上面 建立了索引
    CREATE INDEX idx_test4_name ON test_tab (name );
    这样, 可以加快前面那个查询的速度。
    但是,某天,你执行了下面这个SQL, 发现速度又慢了
    SELECT * FROM test_tab WHERE age = 25
    为啥呢? 因为 age 字段上面,没有索引
    索引只在 name 上面有
    换句话说, 也就是 WHERE 里面的条件, 会自动判断,有没有 可用的索引,如果有, 该不该用。
    多列索引,就是一个索引,包含了2个字段。
    例如:CREATE INDEX idx_test_name_age ON test_tab (name, age);那么SELECT * FROM  test_tab WHERE name LIKE '张%'
    AND age = 25
    这样的查询,将能够使用上面的索引。

    多列索引,还有一个可用的情况就是, 某些情况下,可能查询,只访问索引就足够了, 不需要再访问表了。

    例如:SELECTAVG ( avg ) AS 平均年龄FROM test_tab WHERE name LIKE '张%'

    这个时候, name 与 age 都包含在索引里面。 查询不需要去检索表中的数据。

  • 相关阅读:
    vim高亮
    mengning
    4.4内核osal
    tmpvalgrind
    为什么引入协程
    alloc_call_show(转)
    TSAN
    如何查看哪些进程占用Buffer和Cache高(转)
    ASAN详解其他参考链接
    Linux系统与程序监控工具atop教程(转)
  • 原文地址:https://www.cnblogs.com/zwingblog/p/13428074.html
Copyright © 2011-2022 走看看