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

一張千萬級(jí)別數(shù)據(jù)的表想做分頁,如何優(yōu)化?

數(shù)據(jù)庫 MySQL
當(dāng)進(jìn)行分頁時(shí),MySQL 并不是跳過 offset 行,而是取 offset+N 行,然后放棄前 offset 行,返回 N 行。例如 limit 10000, 20。

 [[336448]]

介紹

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

使用書簽

用書簽記錄上次取數(shù)據(jù)的位置,過濾掉部分?jǐn)?shù)據(jù)

如下面語句

  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為上次分頁后的最大值,注意這種場景只適用于不存在重復(fù)值的場景。

延遲關(guān)聯(lián)

延遲關(guān)聯(lián):通過使用覆蓋索引查詢返回需要的主鍵,再根據(jù)主鍵關(guān)聯(lián)原表獲得需要的數(shù)據(jù)

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

id是主鍵值,name上面有索引。這樣每次查詢的時(shí)候,會(huì)先從name索引列上找到id值,然后回表,查詢到所有的數(shù)據(jù)。可以看到有很多回表其實(shí)是沒有必要的。完全可以先從name索引上找到id(注意只查詢id是不會(huì)回表的,因?yàn)榉蔷奂饕习闹禐樗饕兄岛椭麈I值,相當(dāng)于從索引上能拿到所有的列值,就沒必要再回表了),然后再關(guān)聯(lián)一次表,獲取所有的數(shù)據(jù)

因此可以改為

  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 

倒序查詢

假如查詢倒數(shù)最后一頁,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; 

本文轉(zhuǎn)載自微信公眾號(hào)「Java識(shí)堂」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系Java識(shí)堂公眾號(hào)。 

 

責(zé)任編輯:武曉燕 來源: Java識(shí)堂
相關(guān)推薦

2012-04-25 09:24:17

Java

2023-06-29 08:22:43

數(shù)據(jù)Excel模板

2024-02-05 13:28:00

Excel優(yōu)化服務(wù)器

2022-09-01 08:42:36

SQL數(shù)據(jù)項(xiàng)目

2022-11-17 12:09:51

2024-10-28 10:50:33

2020-09-01 17:19:36

數(shù)據(jù)監(jiān)控建模

2021-02-02 21:50:31

MySQL 8.0ExcelMySQL 5.7

2023-12-07 07:46:21

MySQL寫入點(diǎn)LSN

2025-03-31 01:55:00

2020-06-15 08:54:46

架構(gòu)圖 EA業(yè)務(wù)建模

2020-11-18 07:51:15

MySQL數(shù)據(jù)查詢

2015-10-28 10:17:22

Html5前端優(yōu)化

2021-11-22 10:38:23

架構(gòu)運(yùn)維技術(shù)

2021-02-07 09:01:10

Java并發(fā)編程

2019-09-11 10:12:12

華為

2013-12-16 10:59:52

WiFi上鎖WiFi被盜

2021-02-09 17:21:55

SQL數(shù)據(jù)庫存儲(chǔ)

2021-09-29 11:30:01

大數(shù)據(jù)技術(shù)架構(gòu)

2015-05-08 11:23:41

谷歌IO大會(huì)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 激情91| 伊人网站在线观看 | 亚洲精品视频一区二区三区 | 91精品久久久久久久久99蜜臂 | 久久草在线视频 | 亚洲一区二区久久 | 九九视频在线观看 | 国产精品久久久久久久久久尿 | 麻豆精品国产91久久久久久 | 亚洲人免费视频 | 99精品一区二区三区 | 日韩一二三区视频 | 伊人色综合久久久天天蜜桃 | 久久一| 国产精品久久久久久久久久久久 | 亚洲精品888 | 日韩av免费在线观看 | 性一交一乱一透一a级 | 超碰网址 | 91亚洲精品国偷拍自产在线观看 | 日韩精品成人 | 欧美成人h版在线观看 | 黄片毛片在线观看 | 成年人在线视频 | 一级大片网站 | 一区二区成人在线 | 欧美片网站免费 | 国产视频一区在线观看 | 人人九九 | 久久久妇女国产精品影视 | 日本中文字幕日韩精品免费 | 国产在线a | 啪一啪 | 91在线观看免费 | 91久久精品一区二区二区 | 亚洲精品免费在线观看 | 国产高潮好爽受不了了夜夜做 | 黄色大片免费网站 | 色av一区| 国产精品婷婷 | 精品乱码一区二区 |