91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL分頁知識點講解

發布時間:2021-09-16 16:20:57 來源:億速云 閱讀:133 作者:chen 欄目:大數據

本篇內容主要講解“MySQL分頁知識點講解”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“MySQL分頁知識點講解”吧!

在系統中需要分頁的操作通常會使用limit加上偏移量的方法實現,同時加上合適的order by 子句。如果有對應的索引,通常效率會不錯,否則MySQL需要做大量的文件排序操作。

一個非常令人頭疼問題就是當偏移量非常大的時候,例如可能是limit 10000,20這樣的查詢,這是mysql需要查詢10020條然后只返回最后20條,前面的10000條記錄都將被舍棄,這樣的代價很高。

優化此類查詢的一個最簡單的方法是盡可能的使用索引覆蓋掃描,而不是查詢所有的列。然后根據需要做一次關聯操作再返回所需的列。對于偏移量很大的時候這樣做的效率會得到很大提升。

對于下面的查詢:

select id,title from collect limit 90000,10;

該語句存在的最大問題在于limit M,N中偏移量M太大(我們暫不考慮篩選字段上要不要添加索引的影響),導致每次查詢都要先從整個表中找到滿足條件 的前M條記錄,之后舍棄這M條記錄并從第M+1條記錄開始再依次找到N條滿足條件的記錄。

如果表非常大,且篩選字段沒有合適的索引,且M特別大那么這樣的代價是非常高的。試想,如我們下一次的查詢能從前一次查詢結束后標記的位置開始查找,

找到滿足條件的100條記錄,并記下下一次查詢應該開始的位置,以便于下一次查詢能直接從該位置 開始,這樣就不必每次 查詢都先從整個表中先找到滿足條件的前M條記錄,舍棄,在從M+1開始再找到100條滿足條件的記錄了。

先查詢出主鍵id值

select id,title from collect where id>=(select id from collect order by id limit 90000,1) limit 10;

原理:先查詢出90000條數據對應的主鍵id的值,然后直接通過該id的值直接查詢該id后面的數據。

方法三:“關延遲聯”

如果這個表非常大,那么這個查詢可以改寫成如下的方式:

Select news.id, news.description from news inner join (select id from news order by title limit 50000,5) as myNew using(id);

這里的“關延遲聯”將大大提升查詢的效率,它讓MySQL掃描盡可能少的頁面,獲取需要的記錄后再根據關聯列回原表查詢需要的所有列。這個技術也可以用在優化關聯查詢中的limit。

建立復合索引 acct_id和create_time

select * from acct_trans_log WHERE  acct_id = 3095  order by create_time desc limit 0,10
mysql> SELECT id,a FROM t1 Limit 99990,5;+-------+-------+| id    | a     |+-------+-------+| 99991 | 99991 || 99992 | 99992 || 99993 | 99993 || 99994 | 99994 || 99995 | 99995 |+-------+-------+5 rows in set (0.04 sec)

到此,相信大家對“MySQL分頁知識點講解”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临夏市| 英德市| 独山县| 蒙城县| 布尔津县| 朝阳区| 井陉县| 灵璧县| 阿拉善盟| 静海县| 博乐市| 边坝县| 四平市| 泽州县| 聂荣县| 方城县| 奎屯市| 游戏| 桂林市| 武安市| 富锦市| 靖边县| 江华| 安国市| 馆陶县| 鄢陵县| 含山县| 江安县| 麦盖提县| 红河县| 延津县| 大港区| 平远县| 北宁市| 甘泉县| 肃南| 青神县| 盐津县| 辽中县| 周至县| 呼玛县|