簡體   English   中英

如何最小化sql select查詢的執行時間

[英]How to minimize the execution time of sql select query

我有兩個表 tbl_order 和 tbl_order user 。 我需要從兩個表中選擇所有列並將其與相應表的訂單 ID 和狀態匹配

我使用了以下查詢

select o.*
     , u.*
     , o.id as ord_id 
  from tbl_order o
     , tbl_order_user u 
 where (o.online='0' or o.online='2') 
   and o.status='0' 
   and o.id = u.oid

我懷疑這個查詢需要最大執行時間。

如何減少這個最大執行時間,是否有任何替代查詢來減少最大執行時間。

誰能幫我 。 提前致謝

使用 join 語句並確保您在 WHERE 語句和 JOIN 條件中使用的任何列上都有索引,您為架構提供的少量信息是帶有 JOIN 的 SQL 語句:

SELECT o.*, 
       u.*, 
       o.id AS ord_id 
FROM   tbl_order o 
       JOIN tbl_order_user u 
    ON o.id = u.oid 
         AND o.online  IN ('0' ,'2' ) AND o.status = '0'

現在 RDBMS 會盡可能快地優化您的 SQL 查詢,但是如果您不幫助它,它不會很快,並且如評論中所述,僅檢索您的應用程序中需要用於此查詢的字段,

注意:您對statusonline字段使用字符串比較。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM