成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一張千萬級別數據的表想做分頁,如何優化?

數據庫 MySQL
當進行分頁時,MySQL 并不是跳過 offset 行,而是取 offset+N 行,然后放棄前 offset 行,返回 N 行。例如 limit 10000, 20。

 [[336448]]

介紹

當進行分頁時,MySQL 并不是跳過 offset 行,而是取 offset+N 行,然后放棄前 offset 行,返回 N 行。例如 limit 10000, 20。mysql排序取出10020條數據后,僅返回20條數據,查詢和排序的代價都很高。那當 offset 特別大的時候,效率就非常的低下,所以我們要對sql進行改寫

使用書簽

用書簽記錄上次取數據的位置,過濾掉部分數據

如下面語句

  1. SELECT id, name, description FROM film ORDER BY name LIMIT 1000, 10; 

可以改為

  1. SELECT id, name, description FROM film WHERE name > 'begin' ORDER BY name LIMIT 10; 

name為上次分頁后的最大值,注意這種場景只適用于不存在重復值的場景。

延遲關聯

延遲關聯:通過使用覆蓋索引查詢返回需要的主鍵,再根據主鍵關聯原表獲得需要的數據

  1. SELECT id, name, description FROM film ORDER BY name LIMIT 100,5; 

id是主鍵值,name上面有索引。這樣每次查詢的時候,會先從name索引列上找到id值,然后回表,查詢到所有的數據。可以看到有很多回表其實是沒有必要的。完全可以先從name索引上找到id(注意只查詢id是不會回表的,因為非聚集索引上包含的值為索引列值和主鍵值,相當于從索引上能拿到所有的列值,就沒必要再回表了),然后再關聯一次表,獲取所有的數據

因此可以改為

  1. SELECT film.id, name, description FROM film  
  2. JOIN (SELECT id from film ORDER BY name LIMIT 100,5) temp 
  3. ON film.id = temp.id 

倒序查詢

假如查詢倒數最后一頁,offset可能回非常大

  1. SELECT id, name, description FROM film ORDER BY name LIMIT 100000, 10; 

改成倒序分頁,效率是不是快多了?

  1. SELECT id, name, description FROM film ORDER BY name DESC LIMIT 10; 

本文轉載自微信公眾號「Java識堂」,可以通過以下二維碼關注。轉載本文請聯系Java識堂公眾號。 

 

責任編輯:武曉燕 來源: Java識堂
相關推薦

2012-04-25 09:24:17

Java

2022-09-01 08:42:36

SQL數據項目

2024-02-05 13:28:00

Excel優化服務器

2023-06-29 08:22:43

數據Excel模板

2022-11-17 12:09:51

2024-10-28 10:50:33

2020-09-01 17:19:36

數據監控建模

2021-02-02 21:50:31

MySQL 8.0ExcelMySQL 5.7

2023-12-07 07:46:21

MySQL寫入點LSN

2025-03-31 01:55:00

2020-11-18 07:51:15

MySQL數據查詢

2020-06-15 08:54:46

架構圖 EA業務建模

2015-10-28 10:17:22

Html5前端優化

2021-11-22 10:38:23

架構運維技術

2021-02-07 09:01:10

Java并發編程

2019-09-11 10:12:12

華為

2021-09-29 11:30:01

大數據技術架構

2021-02-09 17:21:55

SQL數據庫存儲

2013-12-16 10:59:52

WiFi上鎖WiFi被盜

2015-05-08 11:23:41

谷歌IO大會
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 福利视频二区 | 精品久久国产 | 久久视频精品 | 青青草原精品99久久精品66 | 欧美网站一区二区 | 久草视频在线看 | 黄视频网址 | www.亚洲一区二区 | 日韩在线国产精品 | 精品福利在线 | 国产婷婷色一区二区三区 | 99re6热在线精品视频播放 | 亚洲第一网站 | 国产一区亚洲二区三区 | 超碰人人人人 | 国产午夜精品久久久 | 网络毛片| 婷婷综合| 密室大逃脱第六季大神版在线观看 | 欧美久久国产精品 | 欧美午夜激情在线 | 日韩精品一区二区三区在线播放 | 亚洲 成人 在线 | 成人午夜 | 亚洲电影一区二区三区 | 精品成人一区二区 | 日韩不卡一区二区三区 | 亚洲成人激情在线观看 | 九九热这里 | av在线一区二区三区 | www.日日操| 国产日韩欧美一区 | 国产一区二区三区久久久久久久久 | 精品av| 精品一区二区观看 | 久草视频在线看 | 91精品国产综合久久福利软件 | 亚洲成av人片在线观看 | 夜夜骑首页 | 久久久国| 在线观看www|