[英]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 查詢,但是如果您不幫助它,它不會很快,並且如評論中所述,僅檢索您的應用程序中需要用於此查詢的字段,
注意:您對status
和online
字段使用字符串比較。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.