1. 程式人生 > >配合專案效能測試中的學習收穫

配合專案效能測試中的學習收穫

1.提高SQL執行效率

一個常用的查詢交易中,查詢時間為11s,最後發現,原因不僅僅在於sql的執行效率,更主要原因是查詢的結果為40W+的資料量,如此大的查詢結果勢必導致時間很長; 經分析,該查詢交易left join了5張表,且其中4張表的資料量為30W~90W;在商討後,決定只留下兩張表做查詢的檢視;由此查詢2W資料時間降至5s,但仍很慢,又發現SQL語句where條件中使用了concat函式,於是改用另一欄位,時間將至2s以下;後又在常用的查詢條件上添加了一組索引,則查詢結果為2W資料,用時0.3s;但整個查詢交易中查詢這張檢視3次,即共用時0.9s;在此情況下已無法再做優化

2.降低有多通訊交易的處理時間

<1>.關閉螢幕輸出日誌 <2>.調大檔案控制代碼數

總結:

<1>.資料庫設計尤為重要,查詢2張表和查詢5張表的效率顯而易見
<2>.查詢結果的資料量會成為時間的致命傷,查詢資料量可以上百萬上千萬,但查詢結果的資料量若過大,則會影響資料查詢時間
<3>.SQL語句中儘量少使用函式,會增加時間
<4>.為常用的欄位新增索引,有助於降低sql語句的執行時間
<5>.一個交易中儘量減少sql的執行次數
<6>.Order by XX desc,執行效率低可為該欄位新增索引
<7>.物化檢視雖好,但也有弊端