雲資料庫場景問題經典案例 分頁優化

2022-05-21 15:45:13 字數 989 閱讀 2453

普通寫法:

select

*from t where sellerid=

100 limit 100000,20

普通limit m,n的翻頁寫法,往往在越往後翻頁的過程中速度越慢,原因mysql會讀取表中的前m+n條資料, m越大,效能就越差:

優化寫法:

select t1.*

from t t1, (select id from t sellerid=

100 limit 100000,20) t2 where t1.id=t2.id;

優化後的翻頁寫法,先查詢翻頁中需要的n條資料的主鍵id,在根據主鍵id回表查詢所需要的n條資料,此過 程中查詢n條資料的主鍵id在索引中完成

注意:需要在t表的sellerid欄位上建立索引 create index ind_sellerid on t(sellerid);

案例如下:

原始語句:

select id, ... from buyer where sellerid =

765922982

and gmt_modified >=

'1970-01-01 08:00:00

'and gmt_modified <=

'2013-06-05 17:11:31

' limit 255000, 5000 ;

優化後語句:

select t2.*

from (select id from buyer where sellerid =

765922982

and gmt_modified >=

'1970-01-01 08:00:00

'and gmt_modified <=

'2013-06-05 17:11:31

' limit 255000, 5000)t1, buyer t2 where t1.id=t2.id ;

經典資料庫問題

1.快速填充數字輔助表 倍增,平方根,平方 2.獲取已有範圍和缺失範圍 3.獲取每個員工最新的3個訂單 4.統計字串內某子字串出現的次數 利用replace函式 5.實現except all 6.拆分元素 table usetempdb goif object id dbo.arrays isnot...

資料庫分頁,資料重複問題

問題描述 查詢資料分頁時,查詢的資料有時候前一頁和後一頁的資料會有重複問題 當sql中order by待排序字段值相同時,系統對資料的排序可能變得隨機,即一會兒這條資料在前面,一會兒這條資料在後面了 所以當翻頁的時候我們很容易便看到了重複的資料。sql中order by相同值結果亂序的具體原因 查閱...

傳統企業資料庫上雲案例分享

摘要 在網際網路的浪潮衝擊下,很多傳統企業都選擇上雲。阿里雲在做基於網際網路的分布式應用,因此在傳統企業上雲的過程中,阿里雲也同樣面臨一些資料庫相關的各種衝擊和需求。在武漢雲棲大會上,阿里雲高階產品專家王偉做了名為 傳統企業資料庫上雲案例分享 的精彩演講。傳統企業應用缺點 傳統企業面臨很多架構變遷,...