电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

MySQL 分頁查詢的優(yōu)化技巧

瀏覽:8日期:2023-10-03 11:38:20

在有分頁查詢的應用中,包括 LIMIT 和 OFFSET 的查詢十分常見,而且?guī)缀趺總€都會有一個 ORDER BY 子句。如果使用索引排序的話將對性能優(yōu)化十分有幫助,否則服務端需要做很多文件排序。

一個高頻的問題是 offset 的值過大。如果查詢類似 LIMIT 10000, 20,將會產(chǎn)生10020行,并將之前的10000行丟棄,這樣的代價很高。假設所有的頁使用相同的頻次訪問,這樣的查詢將平均掃描一半數(shù)據(jù)表。為了優(yōu)化他們,你可以在分頁視圖中限制最多可訪問的頁數(shù),或者讓大便宜的查詢更有效。

一個改善性能簡單的技巧是在覆蓋索引上進行查詢操作而不是整行數(shù)據(jù)。你可以將結果與完整的行做一次聯(lián)合然后再獲取額外需要的列。這樣的效率會更高,例如下面的查詢:

SELECT film_id, description FROM sakila.film ORDER BY title LIMIT 50, 5;

如果數(shù)據(jù)表很大的話,則可以按下面的方式進行優(yōu)化:

SELECT film.film_id, film.descriptionFROM sakila.filmINNER JOIN ( SELECT film_id FROM sakila.film ORDER BY title LIMIT 50, 5) ) as lim USING(film_id);

這種“推斷聯(lián)合查詢”能夠有效工作是因為它使用了索引減少了服務端盡可能少地訪問數(shù)據(jù)行去檢查數(shù)據(jù)。一旦復核要求的行查到了,將他們與對應的數(shù)據(jù)表的行進行聯(lián)合查詢以獲取對應行的其他列。

有些時候也可以將 limit 轉換為固定位置的查詢,這種方式可以對索引進行范圍掃描完成。例如,如果你預先計算一個固定位置的列 稱之為 position,可以重寫查詢?nèi)缦拢?/p>

SELECT film_id, description FROM sakila.filmWHERE position BETWEEN 50 AND 54 ORDER BY position;

排序的數(shù)據(jù)也可以使用類似的方式解決,但是通常會被 GROUP BY操作影響。大部分情況下需要提前計算和存儲排序值。

LIMIT 和 OFFSET 真正的問題是在OFFSET,這意味著服務端會把很多數(shù)據(jù)行丟棄。如果使用一個有序書簽來記錄下次獲取行的位置的話,則可以從上次的位置開始訪問接下來的數(shù)據(jù)。例如,如果你需要對出租記錄進行分頁,從最新的出租記錄開始往回查詢,則可以依賴于記錄的主鍵是一直增加的,因此可以對第一頁數(shù)據(jù)這樣查詢:

SELECT * FROM sakila.rentalORDER BY rental_id DESC LIMIT 20;

這個查詢返回16049到16030之間的數(shù)據(jù)。接下來的查詢可以從之前結束位置開始:

SELECT * FROM sakila.rentalWHERE rental_id < 16030 ORDER BY rental_id DESC LIMIT 20;

這個技巧不管你從多遠的偏移值開始查詢都是很有效的。

其他的一些技巧包括使用預先計算的統(tǒng)計值,或者通過聯(lián)合冗余了主鍵和排序列的數(shù)據(jù)表進行查詢,這兩種方式都是通過空間換取時間的方式提高查詢效率。

以上就是MySQL 分頁查詢的優(yōu)化技巧的詳細內(nèi)容,更多關于MySQL 分頁查詢的優(yōu)化的資料請關注好吧啦網(wǎng)其它相關文章!

相關文章:
主站蜘蛛池模板: 求是网 - 思想建党 理论强党 | 商用绞肉机-熟肉切片机-冻肉切丁机-猪肉开条机 - 广州市正盈机械设备有限公司 | 洗地机-全自动/手推式洗地机-扫地车厂家_扬子清洁设备 | 深圳市超时尚职业培训学校,培训:月嫂,育婴,养老,家政;化妆,美容,美发,美甲. | 牛奶检测仪-乳成分分析仪-北京海谊 | 多米诺-多米诺世界纪录团队-多米诺世界-多米诺团队培训-多米诺公关活动-多米诺创意广告-多米诺大型表演-多米诺专业赛事 | 衬氟止回阀_衬氟闸阀_衬氟三通球阀_衬四氟阀门_衬氟阀门厂-浙江利尔多阀门有限公司 | 无尘烘箱_洁净烤箱_真空无氧烤箱_半导体烤箱_电子防潮柜-深圳市怡和兴机电 | 耐磨陶瓷管道_除渣器厂家-淄博浩瀚陶瓷科技有限公司 | 玻纤土工格栅_钢塑格栅_PP焊接_单双向塑料土工格栅_复合防裂布厂家_山东大庚工程材料科技有限公司 | 高精度电阻回路测试仪-回路直流电阻测试仪-武汉特高压电力科技有限公司 | 郑州律师咨询-郑州律师事务所_河南锦盾律师事务所 | 真空上料机(一种真空输送机)-百科 | 爱佩恒温恒湿测试箱|高低温实验箱|高低温冲击试验箱|冷热冲击试验箱-您身边的模拟环境试验设备技术专家-合作热线:400-6727-800-广东爱佩试验设备有限公司 | 玻璃瓶厂家_酱菜瓶厂家_饮料瓶厂家_酒瓶厂家_玻璃杯厂家_徐州东明玻璃制品有限公司 | 翅片管散热器价格_钢制暖气片报价_钢制板式散热器厂家「河北冀春暖气片有限公司」 | 中药超微粉碎机(中药细胞级微粉碎)-百科 | 清洁设备_洗地机/扫地机厂家_全自动洗地机_橙犀清洁设备官网 | 高低温试验箱-模拟高低温试验箱订制-北京普桑达仪器科技有限公司【官网】 | 地埋式垃圾站厂家【佳星环保】小区压缩垃圾中转站转运站 | 高压无油空压机_无油水润滑空压机_水润滑无油螺杆空压机_无油空压机厂家-科普柯超滤(广东)节能科技有限公司 | 运动木地板厂家,篮球场木地板品牌,体育场馆木地板安装 - 欧氏运动地板 | 钢结构厂房造价_钢结构厂房预算_轻钢结构厂房_山东三维钢结构公司 | 杭州中央空调维修_冷却塔/新风机柜/热水器/锅炉除垢清洗_除垢剂_风机盘管_冷凝器清洗-杭州亿诺能源有限公司 | 骨密度检测仪_骨密度分析仪_骨密度仪_动脉硬化检测仪专业生产厂家【品源医疗】 | 深圳货架厂_仓库货架公司_重型仓储货架_线棒货架批发-深圳市诺普泰仓储设备有限公司 | 涂层测厚仪_光泽度仪_uv能量计_紫外辐照计_太阳膜测试仪_透光率仪-林上科技 | 阀门智能定位器_电液动执行器_气动执行机构-赫尔法流体技术(北京)有限公司 | 邢台人才网_邢台招聘网_邢台123招聘【智达人才网】 | 磁力加热搅拌器-多工位|大功率|数显恒温磁力搅拌器-司乐仪器官网 | 小型UV打印机-UV平板打印机-大型uv打印机-UV打印机源头厂家 |松普集团 | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | 成都亚克力制品,PVC板,双色板雕刻加工,亚克力门牌,亚克力标牌,水晶字雕刻制作-零贰捌广告 | 不锈钢丸厂家,铝丸,铸钢丸-淄博智源铸造材料有限公司 | 山东PE给水管厂家,山东双壁波纹管,山东钢带增强波纹管,山东PE穿线管,山东PE农田灌溉管,山东MPP电力保护套管-山东德诺塑业有限公司 | 青岛空压机,青岛空压机维修/保养,青岛空压机销售/出租公司,青岛空压机厂家电话 | 锂电混合机-新能源混合机-正极材料混料机-高镍,三元材料混料机-负极,包覆混合机-贝尔专业混合混料搅拌机械系统设备厂家 | 低噪声电流前置放大器-SR570电流前置放大器-深圳市嘉士达精密仪器有限公司 | 爆炸冲击传感器-无线遥测传感器-航天星百科 | 中药超微粉碎机(中药细胞级微粉碎)-百科 | 东莞螺丝|东莞螺丝厂|东莞不锈钢螺丝|东莞组合螺丝|东莞精密螺丝厂家-东莞利浩五金专业紧固件厂家 |