目錄
回复内容:
首頁 後端開發 php教程 mysql limit分页一般查多少页,limit多少才会有性能问题?

mysql limit分页一般查多少页,limit多少才会有性能问题?

Jun 06, 2016 pm 08:18 PM
mysql php sql

一般文章分页都是 limit 20 条数据左右,我不知道为什么,limit 最大的性能瓶颈在哪里,最大的值在哪里,一次性取5000条有没有问题,10000条呢,到底多少合适,好不好,每次分页取20条太麻烦了。

一直以来我有一个问题,困惑:

1:什么时候要分页,
2:什么时候要有limit限制,
3:什么时候可以直接痛快的获取全部数据

比如饿了么餐厅页面,餐厅可能有很多分类,每个分类下面还有很多菜品,那么这个时候它是直接获取全部数据吗,没有limit限制吗?

假使分类数量不多,不需要limit可以痛快的全部取出,但是每个分类下面的菜品数量可能有点多(打个比方,我也不知道有多少)那么取每个下面的菜品时需要使用limit吗,如果要limit那么取多少条呢,如果这样做那么不是可能会有个“点击查看更多餐品吗”,那不要做个AJAX取余下的数据啊,取余下的数据该怎么取呢?

大概概念是这样,但是我还是很晕,希望大神结合我说的实例指点一下困惑,谢谢了!

回复内容:

一般文章分页都是 limit 20 条数据左右,我不知道为什么,limit 最大的性能瓶颈在哪里,最大的值在哪里,一次性取5000条有没有问题,10000条呢,到底多少合适,好不好,每次分页取20条太麻烦了。

一直以来我有一个问题,困惑:

1:什么时候要分页,
2:什么时候要有limit限制,
3:什么时候可以直接痛快的获取全部数据

比如饿了么餐厅页面,餐厅可能有很多分类,每个分类下面还有很多菜品,那么这个时候它是直接获取全部数据吗,没有limit限制吗?

假使分类数量不多,不需要limit可以痛快的全部取出,但是每个分类下面的菜品数量可能有点多(打个比方,我也不知道有多少)那么取每个下面的菜品时需要使用limit吗,如果要limit那么取多少条呢,如果这样做那么不是可能会有个“点击查看更多餐品吗”,那不要做个AJAX取余下的数据啊,取余下的数据该怎么取呢?

大概概念是这样,但是我还是很晕,希望大神结合我说的实例指点一下困惑,谢谢了!

  1. 什么时候要分页?
    当表中数据量大的时候就应该考虑分页

  2. 什么时候要有limit限制?
    同上

  3. 什么时候可以直接痛快的获取全部数据?
    当表中数据量不大的时候可以一次取所有数据

读取20条数据和读取5000条乃至更多的数据,性能上肯定是20条更快的。而且这个快,不光体现在数据库上,还体现在网络上的传输过程中(数据量小传得当然快),页面的渲染中(数据量少展示页面就更快)。另外,即使你一次展示5000条数据,但用户绝大多数情况下也就能看到二三十条,并不会将5000条全看完,所以多余的数据也就是浪费的。

如果是小型元素(比如只有文字,或者信息量较少的元素),单页量设置在100以下。如果是大型元素(信息量大,带图文一类的),单页量最好控制在30以下。

够用就好。取多了浪费。
用户只看20条,你取21条都多余。
返回几百条上千条甚至全部,那影响就大了。
首先数据库查询慢,占用更多的服务器资源,查出结果后传输慢,占用更多的带宽资源,其次渲染慢,浏览器也会崩溃。

不用想太多了,这个只是产品定下来的而已,通常最多就20~30条,展示多少条完全是看美观而已。当然,你说的 什么时候可以直接痛快的获取全部数据。这个情况是绝对不可能存在的,怎么可能会获取全部的数据呢,如果文章量达到了千万级怎么办,这取出来也太久了吧。

分页20,而为什么不是5000,10000,主要还是一楼说的,用不到,用不到,用不到那么多

数据库一般有个配置可以配置你每次查询请求返回数据的大小上限,一般情况下,是不会超出这个上限的.只要不超出这个上限,其实怎么拿都是可以的.但是,一般采用按需获取原则,你原则上没有必要拿这么多就不需要拿这么多,毕竟拿得多,你对于网卡的带宽是有占用的,我举例,假设你是千M网卡,limit 1W消耗的带宽是10K,那么从网卡带宽的角度来说(先不说数据库性能问题)你能够极限的QPS也就是1000M/10K=10W QPS.当然如果你网卡可以上万兆网卡.另外对于用户端来说,每次请求获取更多的数据,实际上也是降低了请求到达的速度.

网络传输消耗带宽
网络传输消耗带宽
网络传输消耗带宽
重要事情说3遍

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PHP的目的:構建動態網站 PHP的目的:構建動態網站 Apr 15, 2025 am 12:18 AM

PHP用於構建動態網站,其核心功能包括:1.生成動態內容,通過與數據庫對接實時生成網頁;2.處理用戶交互和表單提交,驗證輸入並響應操作;3.管理會話和用戶認證,提供個性化體驗;4.優化性能和遵循最佳實踐,提升網站效率和安全性。

PHP和Python:解釋了不同的範例 PHP和Python:解釋了不同的範例 Apr 18, 2025 am 12:26 AM

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP:處理數據庫和服務器端邏輯 PHP:處理數據庫和服務器端邏輯 Apr 15, 2025 am 12:15 AM

PHP在數據庫操作和服務器端邏輯處理中使用MySQLi和PDO擴展進行數據庫交互,並通過會話管理等功能處理服務器端邏輯。 1)使用MySQLi或PDO連接數據庫,執行SQL查詢。 2)通過會話管理等功能處理HTTP請求和用戶狀態。 3)使用事務確保數據庫操作的原子性。 4)防止SQL注入,使用異常處理和關閉連接來調試。 5)通過索引和緩存優化性能,編寫可讀性高的代碼並進行錯誤處理。

為什麼要使用PHP?解釋的優點和好處 為什麼要使用PHP?解釋的優點和好處 Apr 16, 2025 am 12:16 AM

PHP的核心優勢包括易於學習、強大的web開發支持、豐富的庫和框架、高性能和可擴展性、跨平台兼容性以及成本效益高。 1)易於學習和使用,適合初學者;2)與web服務器集成好,支持多種數據庫;3)擁有如Laravel等強大框架;4)通過優化可實現高性能;5)支持多種操作系統;6)開源,降低開發成本。

在PHP和Python之間進行選擇:指南 在PHP和Python之間進行選擇:指南 Apr 18, 2025 am 12:24 AM

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

MySQL的角色:Web應用程序中的數據庫 MySQL的角色:Web應用程序中的數據庫 Apr 17, 2025 am 12:23 AM

MySQL在Web應用中的主要作用是存儲和管理數據。 1.MySQL高效處理用戶信息、產品目錄和交易記錄等數據。 2.通過SQL查詢,開發者能從數據庫提取信息生成動態內容。 3.MySQL基於客戶端-服務器模型工作,確保查詢速度可接受。

docker怎麼啟動mysql docker怎麼啟動mysql Apr 15, 2025 pm 12:09 PM

在 Docker 中啟動 MySQL 的過程包含以下步驟:拉取 MySQL 鏡像創建並啟動容器,設置根用戶密碼並映射端口驗證連接創建數據庫和用戶授予對數據庫的所有權限

laravel入門實例 laravel入門實例 Apr 18, 2025 pm 12:45 PM

Laravel 是一款 PHP 框架,用於輕鬆構建 Web 應用程序。它提供一系列強大的功能,包括:安裝: 使用 Composer 全局安裝 Laravel CLI,並在項目目錄中創建應用程序。路由: 在 routes/web.php 中定義 URL 和處理函數之間的關係。視圖: 在 resources/views 中創建視圖以呈現應用程序的界面。數據庫集成: 提供與 MySQL 等數據庫的開箱即用集成,並使用遷移來創建和修改表。模型和控制器: 模型表示數據庫實體,控制器處理 HTTP 請求。

See all articles