SQL索引優化,選單列表優化

2022-09-27 16:24:20 字數 826 閱讀 9135

sql索引優化,選單列表優化

現象:在系統中幾個資料量大的列表頁面,首次進入頁面未增加篩選條件,導致進入的列表查詢速度非常慢。

分析:通過sql檢視,是做了count求和查詢,然後根據總的記錄數來做分頁處理。

查詢速度慢的 原因是什麼?

innodb引擎在統計方面和myisam是不同的,myisam內建了乙個計數器,所以在使用 select count(*) from table 的時候,直接可以從計數器中取出資料。而innodb必須全表掃瞄一次方能得到總的數量。

方法:方案1:進來的頁面是空白,即沒有填寫查詢條件的情況下,列表頁為空,根據使用者選擇的條件來篩選。

方案2:進來的頁面列表頁的記錄數按預設值來處理,比如:預設100條,選擇該方案

可以將首次進入的頁面,根據時間來倒排,比如:根據今天的時間,在時間的字段上面加上索引。

比如是日誌內的資料很大,可以按時間最近3小時內的資料來展示。

通過explain來分析索引的使用情況。將需要索引關聯的字段加上相應的索引。

在首次進入列表(需要相容非首次進入的情況,根據查詢request物件的屬性來判斷),可以越過count查詢,count查詢統計很慢,可以固定查詢100條,然後在前端分頁的列表上面,

根據分頁前端來做列表資料的分割來展示。

order by 索引列id desc limit 100

//

檢測是否首次進入列表頁面

boolean firstaccessflag = false

;

try }

}catch

(exception e)

SQL優化 索引優化

一 發現哪些sql語句有效能問題 開啟mysql慢查詢日誌對sql語句進行監控 show variables like slow query log 檢視是否開啟慢查詢日誌 set global slow query log on 開啟慢查詢日誌 set global log queries not...

慢SQL優化 索引優化

在專案開發的時候難免會寫一些sql語句,剛開始資料量比較小或沒預料到資料的增長速度很快,在後期的維護中偶爾會有慢sql出現,嚴重的會影響到線上服務正常執行和使用者體驗。當然慢sql的優化角度有多種,比如增 減索引 調整搜尋條件的順序 優化查詢結果引數 分庫分表 讀寫分離等等,但本篇我們主要談一下索引...

sql索引優化

1 b tree索引 b tree索引的特點 以b 樹的結構儲存資料 能加快資料的查詢速度 更適合進行範圍查詢 什麼情況下可以用到b樹索引 1 全值匹配的查詢 eg sn 1111 1111 1111 1111 2 匹配最左字首的查詢 eg sn 1111 3 匹配範圍值的查詢 eg sn sn 4...