zoukankan      html  css  js  c++  java
  • 索引的怪异问题

    部分更新语句的字段可能是最匹配的索引里面包含的字段,
    那么他可能导致全表检索

    Key:
    EQDBNT ASC , EQFKND ASC , EQFPP ASC , EQCPP ASC , EQSTLI ASC

    UPDATE TABLEXX SET EQFPP='A' WHERE EQDBNT=1111 AND EQFKND='AAA'

    这时候这个索引不能被匹配
    如果
    UPDATE TABLEXX SET EQAAA='AAA' WHERE EQDBNT=111 AND EQFKND='AAA'
    索引能够被正确使用.

    所以为了使用索引提高UPDATE的速度,最好避免更新目标索引的字段,如果必须更新,就必须建立冗余索引


    ======================
    再次发现,
    如果目标索引字段A B C D E 
           Where里面存在的条件 A B C D
           SET 里面存在A B C D任意组合,那么实际上索引能够被使用
           倘若---SET 里面存在D ,那么索引就不会被使用.....不晓得DB2/400为啥这么奇怪.
  • 相关阅读:
    虚拟机网络配置常见问题总结
    Python
    Python
    Python
    Python
    Python
    Python
    MySQL
    MySQL
    MySQL
  • 原文地址:https://www.cnblogs.com/wildfish/p/496593.html
Copyright © 2011-2022 走看看