mysql limit 用法
2015-12-29 12:01
519 查看
取前5条数据
[sql] view
plaincopy
select * from table_name limit 0,5
或
[sql] view
plaincopy
select * from table_name limit 5
取第11条到第15条数据,共5条
[sql] view
plaincopy
select * from table_name limit 10,5
limit关键字的用法:
LIMIT [offset,] rows
offset指定要返回的第一行的偏移量,rows第二个指定返回行的最大数目。初始行的偏移量是0(不是1)。
mysql
limit分页查询效率
对于有大数据量的mysql表来说,使用LIMIT分页存在很严重的性能问题。
查询从第1000000之后的30条记录:
SQL代码1:平均用时6.6秒 SELECT * FROM `cdb_posts` ORDER BY pid LIMIT 1000000 , 30
SQL代码2:平均用时0.6秒 SELECT * FROM `cdb_posts` WHERE pid >= (SELECT pid FROM `cdb_posts` ORDER BY pid LIMIT 1000000 , 1) LIMIT 30
因为要取出所有字段内容,第一种需要跨越大量数据块并取出,而第二种基本通过直接根据索引字段定位后,才取出相应内容,效率自然大大提升。
可以看出,越往后分页,LIMIT语句的偏移量就会越大,两者速度差距也会越明显。
实际应用中,可以利用类似策略模式的方式去处理分页,比如判断如果是一百页以内,就使用最基本的分页方式,大于一百页,则使用子查询的分页方式。
mysql 模糊查询问题:
在 MySQL 5.5 以上, 若字段 Type 是 time,date,datetime 在 select 時若使用 like '%中文%' 会出現 Illegal mix of collations for operation 'like'在写程序时要对每个字段进行搜索,在执行时可能就会出现时间字段 like '%中文%' 这种语法,这在比较久的版本MySQL是不会出现错误的。但是升级到MySQL 5.5以上,必需改成like binary
'%中文%' 即可避免出现错误。
[sql] view
plaincopy
select * from table_name limit 0,5
或
[sql] view
plaincopy
select * from table_name limit 5
取第11条到第15条数据,共5条
[sql] view
plaincopy
select * from table_name limit 10,5
limit关键字的用法:
LIMIT [offset,] rows
offset指定要返回的第一行的偏移量,rows第二个指定返回行的最大数目。初始行的偏移量是0(不是1)。
mysql
limit分页查询效率
对于有大数据量的mysql表来说,使用LIMIT分页存在很严重的性能问题。
查询从第1000000之后的30条记录:
SQL代码1:平均用时6.6秒 SELECT * FROM `cdb_posts` ORDER BY pid LIMIT 1000000 , 30
SQL代码2:平均用时0.6秒 SELECT * FROM `cdb_posts` WHERE pid >= (SELECT pid FROM `cdb_posts` ORDER BY pid LIMIT 1000000 , 1) LIMIT 30
因为要取出所有字段内容,第一种需要跨越大量数据块并取出,而第二种基本通过直接根据索引字段定位后,才取出相应内容,效率自然大大提升。
可以看出,越往后分页,LIMIT语句的偏移量就会越大,两者速度差距也会越明显。
实际应用中,可以利用类似策略模式的方式去处理分页,比如判断如果是一百页以内,就使用最基本的分页方式,大于一百页,则使用子查询的分页方式。
mysql 模糊查询问题:
在 MySQL 5.5 以上, 若字段 Type 是 time,date,datetime 在 select 時若使用 like '%中文%' 会出現 Illegal mix of collations for operation 'like'在写程序时要对每个字段进行搜索,在执行时可能就会出现时间字段 like '%中文%' 这种语法,这在比较久的版本MySQL是不会出现错误的。但是升级到MySQL 5.5以上,必需改成like binary
'%中文%' 即可避免出现错误。
相关文章推荐
- 关于 mysql 在联合查询时,使用 concat 拼接查询条件
- WIN SERVER8更改MYSQL的datadir后,数据库启动不起来
- Mysql的主从复制的读写分离之Amoeba实现
- MYSQL中用正则筛选一定的数据
- Mysql命令行修改字段类型
- Windows zip版本安装MySQL
- mysql 禁止自动提交设置
- MySQL慢查询日志
- mysql中的触发器和事务的操作
- Mysql install failed with dependencies error
- MySQL执行计划解读
- mysql 删除日志文件命令详解
- Mysql主从复制
- MySQL Cluster
- MySQL Notes
- SqlServer 转mysql
- MySQL的if,case语句使用总结
- MySQL 执行SQL脚本 报ERROR 1231 (42000)的解决办法
- mysql 转SqlServer
- mysql,mybatis使用中遇到的类型转化的问题