SQL优化之LIMIT语法, limit n,m 和 limit n有什么区别? |
您所在的位置:网站首页 › sql语法中1=1 › SQL优化之LIMIT语法, limit n,m 和 limit n有什么区别? |
在某些面试题中会遇到这样的问答或笔试题:“limit 0,1 和 limit 1有什么区别?” 要准确回答这个问题就等深入明白limit一个参数和两个参数的本质区别。 limit n,m 中的第一次参数n表示的游标的偏移量,初始值为0,第二个参数m表示的是想要获取多少条数据。所以limit 0,1表示的是从第一条记录开始,只取一条即可。limit 1表示的也是只取一条数据,也就是说limit 0,1从结果上来说是等价与limit 1。如果你回答是一样的,那就错了,那么你就钻进套子里了……哈哈哈哈哈…… 我们首先来说一说 limit n,m是怎么回事,首先它要获取到第一个参数游标n的位置,那么它就必须得扫描到n的位置,接着从此位置起往后取m条数据,不足m条的返回实际的数量。那么这就会有一个性能的问题,当游标的数值越来越大时性能就会越来越差。 例如: 我们先创建用户表,再使用plsql插入100万数据: CREATE TABLE `user` (`ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',`NAME` varchar(45) NOT NULL COMMENT '用户姓名',`NUM` varchar(1) NOT NULL COMMENT '编号',) COMMENT='用户表'; BEGIN DECLARE i INT; START TRANSACTION; SET i=0; WHILE i |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |