❶ 請求高手優化sql查詢速度!!!!! 不分組查詢很快,分組後超慢,求解決方法
如果是海量數據,那速度是很可怕,知道大概有幾年的數據嗎?你是不是可以嘗試只查詢一個月的數據,然後將結果放在臨時表裡,再循環這個查詢時間,比如我把2010年1月、2月、3月、4月份的結果用循環查找出來,放到臨時表tbl1,然後再從臨時表中進行分組,這樣效率可能會高一點。
你可能需要嘗試一下時間長度為多少時,效率最高,是一個星期一個星期的查,一個月一個月的查,還是三個月,半年,一年。。。。。。。
另外,不知道表dc_staticshares 的數據重復的多嗎?多的話應先考慮將重復數據過濾掉,不然也是影響速度的。
❷ sql 分組數排序 速度太慢
分組聚合就會慢一些,首先看看where條件中的列名是否建立了索引、索引是否起作用。如實在不行,可以考慮使用物化視圖(使用你這個sql生成),並讓其自動更新,查詢時只查詢該視圖,速度就快了。(這樣做就把聚合計算時間分散了、碎片化了)。僅供參考。
❸ SQL server如果有排序,會不會影響效率
如果有排序 只會提高 性能
如果是對少量的數據是體現不出來的 也許會 有一點影響 效率 如果是多 大量的數據 排序會增加 效率 提高執行速度
❹ sql order by效率很低,有什麼辦法可以解決
主鍵索引是用在查詢數據上
order
by是排序是兩個過程
你可以在要排序的列上添加非聚集索引試試看
排序列最好是簡單的數據類型如int
float
不建議用
varchar等
希望能幫到你
❺ sql 需要時間排序 但是加上時間排序 效率太低
網路一下order by 這個sql函數,直接查詢的時候,就可以排序完成的,這個應該算是很快的了
❻ sql ORDER BY 多個欄位,排序變慢幾十倍,求解
SQL 中使用order By後,查詢慢,加上主鍵 和 需要排序的欄位組合排序 速度有很大的提升
在SQL Server查詢數據測試,數據約三萬條, 數據欄位以時間倒序排序,
sql:
select ID, column1,column2,column3,record_date from table where ...... order by record_date desc
此時查詢數據需要15秒左中 ,將orderby 修改為 order by ID desc,record_date desc 後,查詢的數據一秒不到即可查詢出來
在linq中,排序的時候,一定要用new 排序的對象,不然ID 將不會被加入到SQL中
linq:
var t = from a in t where ......select a;
t = t.orderby(t=>t.ID).orderby(t=>t.record_date) 此處的ID在解釋成SQL時,不會在SQL中
應寫為:
t = t.orderby(t=>new{t.ID,t.record_date})
❼ sql 分組排序問題
SELECT
B.S,
MAX(CASE
WHEN
B.C
=
1
THEN
B.COU
END),MAX(CASE
WHEN
B.C
=
2
THEN
B.COU
END)..
(SELECT
A.S,
A.C,
COUNT(*)
COU
FROM
TABLE_NAME
A
GROUP
BY
A.S,
A.C)
B
GROUP
BY
B.S
你是要的這個么
❽ 一條查詢千萬級數據的sql語句,正常查詢速度很快,根據其中四個列分組後查詢卻很慢,請問這是為什麼
根據其中四列分組後是需要進行全表掃描4次才能得到而正常查詢掃描一次就可以,所以很慢,可以建索引來實現分組,這樣會加快查詢的。