LIMIT

简介: <div style="font-family:微软雅黑; font-size:14px; line-height:21px"> <div style="background-color:inherit">① Select * from table<span style="background-color:inherit"> LIMIT m</span>; # 从0开始,m条记录</di
① Select * from table  LIMIT m; # 从0开始,m条记录
② Select * from table  LIMIT m,n; # 从m+1条记录开始,n条记录【 询语句偏移量offset很大的时候,效率较低
③ Select * from table  LIMIT rows OFFECT offset;

    第一个自变量指定:返回的第一行的偏移量offset,第二个自变量指定:返回的行数的最大值。初始行的偏移量为0(不是1)。

Select*from sakila.rental LIMIT 14036,10;#① 6ms

Select*from sakila.rental LIMIT 10 OFFSET 14036;#②  6ms ,PostgreSQL ,【结果与 ① 等价】

 

Select*from sakila.rental WHERE rental_id>=14036 LIMIT 10;  #③ 1ms

Select*from sakila.rental WHERE rental_id>=(SELECT rental_id from sakila.rental limit 14306,1LIMIT 10;  #④ 3ms

 offset偏移量较大时,可先获取到offset的id后,再直接使用limit size来获取数据。(实际SQL中偏移量对应字段应该where字段不一致才有效果,和SQL①对比)


Select*from sakila.rental LIMIT 0; #⑤ 迅速返回一空集。这可以于检查一查询的有效性

 

SELECT*FROM rental WHERE rental_date ='2005-08-01 09:45:58'LIMIT 1;  #⑥ limit耗时0.018slimit耗时0.002s


Select*from  sakila.rental INNER JOIN(SELECT rental_id from sakila.rental limit14306,10) aa USING(rental_id);  # 3ms,给子查询的表加一个别aa;效果和④等价


Note: 

  • where...limit....性能基本稳定,受偏移量offset和行数rows的影响不大;
  • 而单纯采用limit的话,受偏移量的影响很大,当偏移量大到一定后性能开始大幅下降。


目录
相关文章
|
6月前
|
机器学习/深度学习 存储 SQL
别再用offset和limit分页了
别再用offset和limit分页了
33 0
|
存储 缓存 大数据
Starrocks执行查询报错:Memory of process exceed limit. Used: XXX, Limit: XXX. Mem usage has exceed the limit of BE
Starrocks执行查询报错:Memory of process exceed limit. Used: XXX, Limit: XXX. Mem usage has exceed the limit of BE
|
数据库 OceanBase
LIMIT_ROW_COUNT
LIMIT_ROW_COUNT
95 1
|
SQL 关系型数据库 MySQL
postgre分页查询报错:ERROR: LIMIT #,# syntax is not supported 建议:Use separate LIMIT and OFFSET clauses
postgre分页查询报错:ERROR: LIMIT #,# syntax is not supported 建议:Use separate LIMIT and OFFSET clauses
358 0
postgre分页查询报错:ERROR: LIMIT #,# syntax is not supported 建议:Use separate LIMIT and OFFSET clauses
|
数据库
分页limit和排序order by
分页limit和排序order by
|
SQL 关系型数据库 MySQL
select、distinct、limit使用
select、distinct、limit使用
279 0
select、distinct、limit使用
分页查询(limit)
limit(可以接受一个参数或者两个参数) 第一个参数 指定第一个返回记录行的偏移量(初始偏移量是0不是1) 第二个参数 指定返回记录行的最大数目 例: //检索记录行6-15 select * from table limit 5...
1741 0