當前位置:首頁 » 編程語言 » sql語句傳參數執行慢
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql語句傳參數執行慢

發布時間: 2023-03-16 15:48:29

1. sql語句執行太慢,怎麼優化

Try this:

select storage.prodcode, sum(case when billsale.prod_number is null then 0 else billsale.prod_number end) as '已銷售數量'
from storage left join billsale on billsale.prodcode=storage.prodcode
group by storage.prodcode

2. 大神們幫忙看看這個SQL語句執行有點慢,要怎麼優化才變快點

你好,根據SQL,我給予一些建議,最好根據執行計劃:

  1. 若走的全表掃描,建議建立表間關聯欄位索引,查看索引失效原因,修改SQL關聯邏輯,大部分都能解決。

  2. 如果是數據量大的問題:

    a. 如果有多個查詢條件,建議建立where限制條件,減少數據統計范圍。

    b. 如果實時性要求不高,可以定時跑批,把結果放在結果表裡,前台查詢結果表。

    c. 關聯表太多,SQL建議拆分兩端,sum統計單獨放一個SQL。

3. 如果輸入一條查詢一張表的sql語句,但資料庫執行緩慢,如何並採取什麼樣的方法對資料庫進行優化

1.對表格進行優化。創建索引可以大大的加快查詢的速度。
2。對你的語句進行優化。where語句中執行的順序是:從右往左,從下往上。所以
(1)能排除最多數據的條件應該寫在最外面。
(2)如果是多表關聯的,那麼關聯表應該放在中間,數據少的表放最後
(3)盡量不要用select *,因為這樣資料庫是進行全表掃描,相當於select 所有欄位,盡量選需要的吧

4. SQL語句執行起來真的很慢,請大家幫忙優化一下

先建立索引,索引名隨便起:
CREATE INDEX index_name ON COPTD(TD004);
CREATE INDEX index_name ON MOCTB(TD004);
CREATE INDEX index_name ON MOCTA(TD004);
insert into ZDIDAN(DD01,DD02,DD03) SELECT distinct TD004,SUM(TD08),'O' FROM COPTD,MOCTA,MOCTB where COPTD.TD004=MOCTA.TD004 and MOCTB.TD004=MOCTA.TD004 and COPTD.TD021 = 'Y' AND COPTD.TD016 = 'N' AND COPTD.TD008+COPTD.TD024-COPTD.TD009-COPTD.TD025 > 0 and TB001+TB002=TA001+TA002 and TA013='Y' AND TA011 < 'Y' AND TB004>TB005 GROUP BY COPTD.TD004;