1)這種框架自帶的分頁方法,有時候數據量一多就會比較慢,所以一定要自己些查詢sql語句。 我在項目中就遇到一個這樣的問題,兩個表關聯分頁查詢,因為我使用的是inner join進行的關聯,導致僅有43萬的數據,查詢了5秒多,后改為left join,用時1.2秒!
根據查看執行計劃,對查詢條件添加對應的索引!
如果你知道查出來的數據的條數,就可以使用limit numb; 我在項目中遇到了一個問題,兩個表關聯查詢,因為數據量很大,所以查詢速度很慢,但是我知道只會查出一條數據,我就使用了 select * from table where code = xxxx limit 1; 速度僅用了不到1秒;
框架的分頁查詢,必然會有count查詢,因為他要計算總頁數,但是這樣有時候會導致查詢比較慢。我們可以和前端約定好,不展示頁碼,只保留上一頁和下一頁。這樣我們就可以通過計算頁碼的起始位置和結束位置來自己分頁查詢了。
舉例:
// 獲取起始位置
publicstaticIntegergetStartIndex(Integer pageNo,Integer pageSize){
return(pageNo -1) * pageSize;
}
sql: select * from table limit startIndex, pageSize;
所以,我們在解決問題時候,要根據不同的業務場景,使用不同的辦法解決。如果使用了分頁還是慢的話,就要查看自己的MySQL語句是否有問題!通過查看執行計劃進行分析。
網頁標題:常見的4種方法解決MySQL查詢慢
文章起源:http://newbst.com/article34/isgcpe.html
成都網站建設公司_創新互聯,為您提供網站設計、動態網站、外貿網站建設、網頁設計公司、微信公眾號、網站改版
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯