SQL优化之LIMIT语法, limit n,m 和 limit n有什么区别?

您所在的位置:网站首页 sql语法中1=1 SQL优化之LIMIT语法, limit n,m 和 limit n有什么区别?

SQL优化之LIMIT语法, limit n,m 和 limit n有什么区别?

2024-07-11 08:31| 来源: 网络整理| 查看: 265

 ​​      在某些面试题中会遇到这样的问答或笔试题:“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