原因:
聯查了有大表
改進:1 聯查欄位加索引
2 排序欄位加索引
3 加統計表
4 冷熱資料
5 in改為exists
2018 7 /26
發現變慢原因:
1 聯查表是大表,大表不能用in,只能用exists
2 提前從in 裡面篩選出在主表bu'm不滿足條件的資料
inq裡面
如果有個從表很大並且 需要篩選 又和主表有關聯關係,並且不想讀取從表資訊。
源**:li包含了所有
ll = coupon.select(y => y.cid).tolist();
var model =act.where(o => ll.contains(o.id)&&type=2);
因為 coupon超級大,執行超級慢
改**:
ll = coupon.where(act.any(o => o.type=2).select(y => y.cid).tolist();
var model = act.where(o => ll.contains(o.id));
把條件提前加入篩選集合裡面,執行很快
加索引,主要是where 或者orderby自己認為標準:
1 聯查大表的字段,大表的字段加索引
2 排序的字段
3sum的字段
3 不是所有條件欄位加索引
時間篩選不能直接用大於小於,用函式來寫
select [id]
,[order_no]
,[trade_no]
from [orders] where add_time'2018-07-15 15:32:13'
執行時間
改為
select [id]
,[order_no]
,[trade_no]
from [orders] where
datediff(dd,add_time,'2018-07-31') >= 0 and datediff(dd, '2018-07-01', add_time )>= 0
還是很慢
加一張表聯查,做為中間表,還是很慢,
select [id]
,[order_no]
,[trade_no]
from [orders]
join [orderdatediff]
on [dt_orders].id=[orderdatediff].order_id
where [orderdatediff].[datediff]<15
區域網速度變慢的原因分析
在眾多的網路故障中,最令人頭痛的是網路是通的,但網速變慢。初次面對這類 軟 故障時,往往有的人會束手無策,本文為大家介紹引起此類 軟 故障常見的原因及排除方法,提高大家對實際問題的處理能力。網線問題 我們知道,雙絞線是由4對線嚴格而合理地緊密度絞和在一起,減少串擾和背景噪音的影響。同時,在t568a...
區域網速度變慢的原因分析
在眾多的網路故障中,最令人頭痛的是網路是通的,但網速變慢。初次面對這類 軟 故障時,往往有的人會束手無策,本文為大家介紹引起此類 軟 故障常見的原因及排除方法,提高大家對實際問題的處理能力。網線問題 我們知道,雙絞線是由4對線嚴格而合理地緊密度絞和在一起,減少串擾和背景噪音的影響。同時,在t568a...
C C 程式崩潰原因分析
我們執行程式時經常會遇到異常崩潰,也就是我們常說的crash,下面我想總結一下crash出現的原因。而導致crash的主要原因就是段錯誤 segmentation fault 是不是很熟悉,相信每個執行過c程式的小夥伴都見過這兩個單詞,而且這種錯誤一般不給其他提示,看著很糾結。導致段錯誤的原因一般有...