V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
deepmindlab
V2EX  ›  程序员

SQL 优化 or 问题

  •  
  •   deepmindlab · Mar 24, 2020 · 1348 views
    This topic created in 2227 days ago, the information mentioned may be changed or developed.

    where aoc.ao_order_no = '1' or aoc.ao_airline_no = '1' or aoc.ao_extf_no = '1' or aoc.ao_origin_order_no = '1'

    如上,如果条件 aoc.ao_order_no = '1'为 true 时,后面的条件还执行吗?如果是未免性能肯定受到影响,该如何解决?

    RRRoger
        1
    RRRoger  
       Mar 24, 2020   ❤️ 1
    如果都建立索引的话,建议改成

    ```sql

    where aoc.ao_order_no = '1'

    union

    where aoc.ao_airline_no = '1'

    union

    where aoc.ao_extf_no = '1'

    union

    where aoc.ao_origin_order_no = '1'

    ```
    egfegdfr
        2
    egfegdfr  
       Mar 24, 2020
    会继续执行,他会把所有符合这 4 个条件的都查出来。
    优化的话,
    一个是 如果编号都是数字的话,尽量用 int 类型的,不用用字符串。
    第二 可以根据实际情况加索引
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5741 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 02:03 · PVG 10:03 · LAX 19:03 · JFK 22:03
    ♥ Do have faith in what you're doing.