配合專案效能測試中的學習收穫 阿新 • • 發佈:2019-02-20 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>.物化檢視雖好,但也有弊端