mysql - 避免OFFSET,WHERE分页应该是什么样子?

标签 mysql sql

嗨,我正在阅读http://domasmituzas.files.wordpress.com/2011/09/mysqluc2008-mysql-web.pdf 并发现“良好的分页实践”是 WHERE 而不是 OFFSET, LIMIT

有没有代码示例,解释一下怎么做?

enter image description here

最佳答案

我不是 SQL 专家。但据我所知,WHERE 子句指示在该特定TABLE 上选择哪一行。这首先在 LIMIT 子句之前执行。

LIMIT 子句限制 SELECT 语句返回的行数。因此,该子句在 WHERE 子句之后执行,得出的结论是 WHERELIMIT 更快。​​

仍然是 WHERE 子句的 PERFORMANCE取决于你如何形成你的条件。

这是我用于分页的内容:

SELECT *
    FROM table T
    WHERE T.Id > 100
    LIMIT 100;

而不是使用LIMIT/OFFSET

SELECT *
    FROM table T
    LIMIT 100, 100;

您可以清楚地看到大表的优势。

关于mysql - 避免OFFSET,WHERE分页应该是什么样子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16766866/

相关文章:

mysql选择包括相关行

javascript - nodeJS 和 MySql 中的连接池问题

mysql - ActiveRecord 在保存时引发异常,但在 Rails 中没有发生任何爆炸

PHP 插入和左连接

sql - SSRS在分组时组合来自多行的列内的值

SQL Server 2008 R2 : Trigger on `TEXT` column

mysql - Django 特性

iphone - 将 iPhone 应用程序链接到 Mysql 数据库我可以知道下载大小吗?

mysql - 在给定登机和下机时间的情况下查找每小时载客量

sql - ADO.NET Command.CommandText属性中可以有多个SQL指令吗?