用法一
SELECT `keyword_rank`* FROM `keyword_rank` WHERE (advertiserid=) LIMIT OFFSET ;
比如这个SQL limit后面跟的是条数据offset后面是从第条开始读取
用法二
SELECT `keyword_rank`* FROM `keyword_rank` WHERE (advertiserid=) LIMIT ;
而这个SQLlimit后面是从第条开始读读取条信息
这两个千万别搞混哦
用法三
select * from tablename <条件语句> limit
从第条后开始最后一条的记录
用法四
select * from tablename <条件语句> limit
相当于limit 查询结果取前条数据用法五
mysql低版本不支持limit offset
limit offset 在mysql 以上的版本中都可以正常运行在旧版本的mysql 中无效
limit m offset n 等价于 limit mn
limit 的优化
mysql的limit给分页带来了极大的方便但数据量一大的时候limit的性能就急剧下降
MYSQL的优化是非常重要的其他最常用也最需要优化的就是limitmysql的limit给分页带来了极大的方便但数据量一大的时候limit的性能就急剧下降
同样是取条数据
select * from yanxue_visit limit 和
select * from yanxue_visit limit
就不是一个数量级别的
网上也很多关于limit的五条优化准则都是翻译自mysql手册虽然正确但不实用今天发现一篇文章写了些关于limit优化的很不错
文中不是直接使用limit而是首先获取到offset的id然后直接使用limit size来获取数据根据他的数据明显要好于直接使用limit这里我具体使用数据分两种情况进行测试(测试环境win+p双核 (GHZ) +G内存 mysql )
offset比较小的时候
select * from yanxue_visit limit
多次运行时间保持在之间
Select * From yanxue_visit Where vid >=(
Select vid From yanxue_visit Order By vid limit
) limit
多次运行时间保持在之间主要是
结论偏移offset较小的时候直接使用limit较优这个显然是子查询的原因
offset大的时候
select * from yanxue_visit limit
多次运行时间保持在左右
Select * From yanxue_visit Where vid >=(
Select vid From yanxue_visit Order By vid limit
) limit
多次运行时间保持在左右只有前者的/可以预计offset越大后者越优
以后要注意改正自己的limit语句优化一下mysql了