• 关于

    mysql分页sql

    的搜索结果

问题

MySQL分页性能问题Limit 性能问题求解决

蛮大人123 2019-12-01 19:49:19 1251 浏览量 回答数 1

回答

说实话,我没明白你为什么要手写分页。。。 JFinal中有直接的分页接口,Model.pagenate(...)和Db.pagenate(...),你只需要将SQL语句、SQL参数、分页参数传入,它会自动帮你处理分页。结果放在Page<Model>或Page<Record>中,返回的对象中本身就包含了分布时的TotalRow、TotalPage、CurrentPage等信息。。。 多看看API吧。。。 ######正常需要几个参数###### 引用来自“JFinal”的评论正常需要几个参数 参数是不定的呀,现在查询界面只设3个input查询参数,如果日后要加多查询条件,参数个数就会增加. ######SQL2000分页就烦在这,它不像mySQL,分页有个limit关键字,SQL2000自定义分页要把传进来的sqlExceptSelect作两次处理.###### 引用来自“糊搞”的评论 说实话,我没明白你为什么要手写分页。。。 JFinal中有直接的分页接口,Model.pagenate(...)和Db.pagenate(...),你只需要将SQL语句、SQL参数、分页参数传入,它会自动帮你处理分页。结果放在Page<Model>或Page<Record>中,返回的对象中本身就包含了分布时的TotalRow、TotalPage、CurrentPage等信息。。。 多看看API吧。。。 你用过MS-SQL2000数据库就明白了###### 引用来自“JFinal”的评论正常需要几个参数 引用来自“andying”的评论 参数是不定的呀,现在查询界面只设3个input查询参数,如果日后要加多查询条件,参数个数就会增加.      我是说具体到某个情况下是几个参数,假定你是两个参数,保障一下生成的 sql 只有两个问号即可,例如: User.me.paginate(10, 20, "select *", "from ... where ? ..., ?", para_1, para_2); 生成的 sql 与参数个数一定要相同,至于如何保障相同,写好程序即可打完收工,尤其你的分页程序要写好 ###### 引用来自“JFinal”的评论正常需要几个参数 引用来自“andying”的评论 参数是不定的呀,现在查询界面只设3个input查询参数,如果日后要加多查询条件,参数个数就会增加. 引用来自“JFinal”的评论      我是说具体到某个情况下是几个参数,假定你是两个参数,保障一下生成的 sql 只有两个问号即可,例如: User.me.paginate(10, 20, "select *", "from ... where ? ..., ?", para_1, para_2); 生成的 sql 与参数个数一定要相同,至于如何保障相同,写好程序即可打完收工,尤其你的分页程序要写好 问题是SQL2000自定义分页做不到吧?  能不能自定义Model,重载一下paginate,但这个方法又是私有的 private Page<M> paginate(Config config, Connection conn, int pageNumber, int pageSize, String select, String sqlExceptSelect, Object... paras) throws Exception {   ######参考一下mysql与oracle的分页方法,参考着实现即可打完收工######这样回答说明你还没理解JFinal的分页是如何处理的

爱吃鱼的程序员 2020-06-05 13:20:48 0 浏览量 回答数 0

问题

MySql执行分页时查询统计数据量的Sql语句差别及性能

吴孟桥 2019-12-01 20:00:45 1128 浏览量 回答数 1

阿里云试用中心,为您提供0门槛上云实践机会!

0元试用32+款产品,最高免费12个月!拨打95187-1,咨询专业上云建议!

回答

分页显示一般有两种实现方式:业务层分页、数据库层分页(以下会用到两个参数,提前说明下 page:请求第几页,size:每页显示多少条)。 业务层分页:从数据库取出所有数据,然后通过传过来的page和size对所有数据截取,比如一共查了100条数据,保存在list里面,要求查询第2页,每页显示10条,则可以通过list属性,取100条数据 中的第11条到第20条,可通过遍历实现。 数据库层分页:数据库都会有分页函数(mysql 是limit函数,sqlServer是row_number()函数,可自行百度下)该方法是通过传过来的page和size在查询数据库时就开始分页,以mysql为例,查询第2页,每页显示10条,则sql语句是 ”select * from XX limit 10,10“(第一个10表示从下标为10开始查,第二个10是共读取10条)。 性能肯定是第二种分页方式好,只要搞懂分页原理,想实现分页其实很简单,只要搞清楚分页是将多条数据中的某几条挑出来。另外通过JSP分页标签也可以实现:http://edu.51cto.com/course/course_id-4201.html

爵霸 2019-12-02 02:28:04 0 浏览量 回答数 0

问题

PHP MySQL 关于文章字段内容分页的几个小问题

蛮大人123 2019-12-01 19:49:27 1442 浏览量 回答数 1

问题

mysql分页的sql语句,求解?? ?

爱吃鱼的程序员 2020-08-21 15:24:23 0 浏览量 回答数 1

问题

MySQL 关于分页查询的有用参数的问题

落地花开啦 2019-12-01 19:55:12 1198 浏览量 回答数 1

问题

新手。问一下怎么要写mysql取得列表页的分页数据。

a123456678 2019-12-01 20:00:33 897 浏览量 回答数 1

问题

php处理mysql中的一种分页排序问题

落地花开啦 2019-12-01 20:00:18 1083 浏览量 回答数 1

问题

Alibaba druid不支持sql server 的OFFSET FETCH函数吗?报错

爱吃鱼的程序员 2020-06-07 18:04:02 0 浏览量 回答数 1

问题

mysql多表查询分页如何实现最优

蛮大人123 2019-12-01 19:49:12 1835 浏览量 回答数 1

回答

将有2个问题:1)数据类型。在MS SQL类型和MySQL类型之间并不总是存在直接的相似之处。例如,MySQL处理时间戳的方式非常不同,并且在您需要以不同的n值在varchar(n)和varchar(max)/ text之间切换时提供了截止时间。数值类型也有一些小的差异。 2)查询语法。同样,查询语法也有一些差异,但并非总是有1:1的模拟替换。我最想知道的一个是MS SQL中的SELECT TOP N * FROM T变成MySQL中的SELECT * FROM T LIMIT N(MySQL使分页加载更容易)。

心有灵_夕 2019-12-25 20:47:36 0 浏览量 回答数 0

回答

@倚楼听风雨_ 你好,想跟你请教个问题:###### 引用来自“蓝胖三舅”的评论 @倚楼听风雨_ 你好,想跟你请教个问题: 第一个是用原生sql查询出结果集,然后在用框架去操作分页等,应该是可以的,主要还是看你的做法吧。 第二个可以相对简单点,你直接创建一个 视图,然后视图的结果集就是你的那个查询语句,然后用你的框架针对这个结果集封装一个对象,然后就是正常的对象操作了。 ######回复 @蓝胖三舅 : 哦,你的意思说,你是先把所有的结果集执行查询,然后再进行封装对象,这样肯定是不行的。 一般是两种做法: 1、通过框架,实现分页sql改写,就是自动分页语法 2、自己添加分页的sql语法,比如说mysql,在你的sql后面加上 limit 1,10 这样就是第1页,每页10条######想感谢您国庆假期还有空回复我的问题 针对您说的两点,第一个方法我已经试过了,用的model的findBySql查处的query,一样在new ADP的时候return query是全部,不是分页的结果,第二种没尝试过视图,也不太了解Yii应该如何搭配视图工作。我稍后查找下资料

kun坤 2020-05-31 22:46:18 0 浏览量 回答数 0

回答

@倚楼听风雨_ 你好,想跟你请教个问题:###### 引用来自“蓝胖三舅”的评论 @倚楼听风雨_ 你好,想跟你请教个问题: 第一个是用原生sql查询出结果集,然后在用框架去操作分页等,应该是可以的,主要还是看你的做法吧。 第二个可以相对简单点,你直接创建一个 视图,然后视图的结果集就是你的那个查询语句,然后用你的框架针对这个结果集封装一个对象,然后就是正常的对象操作了。 ######回复 @蓝胖三舅 : 哦,你的意思说,你是先把所有的结果集执行查询,然后再进行封装对象,这样肯定是不行的。 一般是两种做法: 1、通过框架,实现分页sql改写,就是自动分页语法 2、自己添加分页的sql语法,比如说mysql,在你的sql后面加上 limit 1,10 这样就是第1页,每页10条######想感谢您国庆假期还有空回复我的问题 针对您说的两点,第一个方法我已经试过了,用的model的findBySql查处的query,一样在new ADP的时候return query是全部,不是分页的结果,第二种没尝试过视图,也不太了解Yii应该如何搭配视图工作。我稍后查找下资料

montos 2020-06-02 20:42:58 0 浏览量 回答数 0

回答

@倚楼听风雨_ 你好,想跟你请教个问题:###### 引用来自“蓝胖三舅”的评论 @倚楼听风雨_ 你好,想跟你请教个问题: 第一个是用原生sql查询出结果集,然后在用框架去操作分页等,应该是可以的,主要还是看你的做法吧。 第二个可以相对简单点,你直接创建一个 视图,然后视图的结果集就是你的那个查询语句,然后用你的框架针对这个结果集封装一个对象,然后就是正常的对象操作了。 ######回复 @蓝胖三舅 : 哦,你的意思说,你是先把所有的结果集执行查询,然后再进行封装对象,这样肯定是不行的。 一般是两种做法: 1、通过框架,实现分页sql改写,就是自动分页语法 2、自己添加分页的sql语法,比如说mysql,在你的sql后面加上 limit 1,10 这样就是第1页,每页10条######想感谢您国庆假期还有空回复我的问题 针对您说的两点,第一个方法我已经试过了,用的model的findBySql查处的query,一样在new ADP的时候return query是全部,不是分页的结果,第二种没尝试过视图,也不太了解Yii应该如何搭配视图工作。我稍后查找下资料

kun坤 2020-06-14 07:05:33 0 浏览量 回答数 0

问题

使用offset + limit查找mySQL查询中的结果总数?mysql

保持可爱mmm 2020-05-17 10:38:33 0 浏览量 回答数 1

问题

SQL语句中 SQL_CALC_FOUND_ROWS 的使用与否

蛮大人123 2019-12-01 19:52:09 2379 浏览量 回答数 1

问题

MySQL语句实现置顶查询

蛮大人123 2019-12-01 19:49:09 989 浏览量 回答数 1

问题

MySQL语句实现置顶查询

a123456678 2019-12-01 20:15:44 688 浏览量 回答数 1

问题

Db的分页方法是如何执行的??报错

爱吃鱼的程序员 2020-06-10 10:44:36 0 浏览量 回答数 1

回答

"<span style=""font-size:13.3333px;""><a href=""https://my.oschina.net/yzChen"" class=""referer"" target=""blank"">@倚楼听风雨 你好,想跟你请教个问题:######<div class=""ref""> 引用来自“蓝胖三舅”的评论 @倚楼听风雨_ 你好,想跟你请教个问题: 第一个是用原生sql查询出结果集,然后在用框架去操作分页等,应该是可以的,主要还是看你的做法吧。 第二个可以相对简单点,你直接创建一个 视图,然后视图的结果集就是你的那个查询语句,然后用你的框架针对这个结果集封装一个对象,然后就是正常的对象操作了。 ######回复 @蓝胖三舅 : 哦,你的意思说,你是先把所有的结果集执行查询,然后再进行封装对象,这样肯定是不行的。 一般是两种做法: 1、通过框架,实现分页sql改写,就是自动分页语法 2、自己添加分页的sql语法,比如说mysql,在你的sql后面加上 limit 1,10 这样就是第1页,每页10条######想感谢您国庆假期还有空回复我的问题 针对您说的两点,第一个方法我已经试过了,用的model的findBySql查处的query,一样在new ADP的时候return query是全部,不是分页的结果,第二种没尝试过视图,也不太了解Yii应该如何搭配视图工作。我稍后查找下资料"

montos 2020-05-31 15:06:43 0 浏览量 回答数 0

问题

mysql分页,可以一次性获得数据和数据总数吗

吴孟桥 2019-12-01 20:03:55 1070 浏览量 回答数 1

回答

1)库函数不同。 2)Oracle是用表空间来管理的,Mysql不是。 3)显示当前所有的表、用户、改变连接用户、显示当前连接用户、执行外部脚本的语句的不同。 4)分页查询时候时候,mysql用limit oracle用rownum mysql> SELECT * FROM table LIMIT 5,10; // 检索记录行 6-15 //为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1: mysql> SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last. //如果只给定一个参数,它表示返回最大的记录行数目: mysql> SELECT * FROM table LIMIT 5; //检索前 5 个记录行 //换句话说,LIMIT n 等价于 LIMIT 0,n。 5)sql的语法的不同。

茶什i 2019-12-02 03:14:31 0 浏览量 回答数 0

问题

MySQL多表多字段计算排序

蛮大人123 2019-12-01 19:49:45 1335 浏览量 回答数 1

问题

实时在线设备统计应该保存在SQL,Redis Set还是Redis Sorted Set?

爵霸 2019-12-01 20:10:35 1099 浏览量 回答数 1

问题

实时在线设备统计应该保存在SQL,Redis Set还是Redis Sorted Set哪里更好?

落地花开啦 2019-12-01 19:47:17 1482 浏览量 回答数 1

问题

数据迁移,分页从mysql查询出数据,插入ots数据不对?

初商 2019-12-01 19:49:50 4 浏览量 回答数 0

回答

当您COUNT(*)使用count列索引时,它将是最好的结果。使用MyISAM引擎的Mysql 实际上存储行数,每次尝试对所有行进行计数时,它都不会对所有行进行计数。(基于主键的列) 使用PHP计数行不是很聪明,因为您必须将数据从mysql发送到php。当您可以在mysql端实现相同功能时,为什么要这样做呢? 如果COUNT(*)速度较慢,则应EXPLAIN在查询上运行,并检查是否确实使用了索引以及应将索引添加到何处。 以下不是最快的方法,但是在某些情况下,这COUNT(*)并不完全适合-在开始对结果进行分组时,您可能会遇到问题,即COUNT实际上并没有计算所有行。 解决方法是SQL_CALC_FOUND_ROWS。通常在选择行但仍需要知道总行数(例如,用于分页)时使用。选择数据行时,只需SQL_CALC_FOUND_ROWS在SELECT之后附加关键字: SELECT SQL_CALC_FOUND_ROWS [needed fields or *] FROM table LIMIT 20 OFFSET 0; 选择所需的行后,可以通过以下单个查询获取计数: SELECT FOUND_ROWS(); FOUND_ROWS() 必须在数据选择查询后立即调用。 总之,实际上,一切都取决于您有多少个条目以及WHERE语句中的内容。当有很多行(数万,数百万甚至更多)时,您应该真正注意索引的使用方式。 来源:stack overflow

保持可爱mmm 2020-05-17 10:01:38 0 浏览量 回答数 0

回答

堆溢出啊,这和JDBC查询没关系,主要是加载到内存的数据对象太多,导致。把JVM内存设置大些######除了这个方式,能否在代码上进行优化?###### 数据库是mysql? ######oracle###### 引用来自“爪哇老妖”的答案 堆溢出啊,这和JDBC查询没关系,主要是加载到内存的数据对象太多,导致。把JVM内存设置大些 可以啊,代码方面就控制住对象生成数量即可。不要一次生成太多对象。 ######嗯,主要是查询,我做成分页的方式来查,但是效率会比较低######分页,优化代码。######我目前就是采用这种方式,但是效率比较低######代码优化还是老调重弹吧,不要在循环里面做使用资源的事情###### 引用来自“爪哇老妖”的答案 引用来自“爪哇老妖”的答案 堆溢出啊,这和JDBC查询没关系,主要是加载到内存的数据对象太多,导致。把JVM内存设置大些 可以啊,代码方面就控制住对象生成数量即可。不要一次生成太多对象。 额  可以在数据库层面使用SQL分页 ######这个是肯定的,但是会导致效率比较低###### Java语言的意义就在于提醒你,不要写垃圾代码,注意控制好内存和性能。。 ######这些道理其实大家都懂,就像有个人跟你说我要解决温饱,但是你说党的优越性一样###### 引用来自“爪哇老妖”的答案 引用来自“爪哇老妖”的答案 引用来自“爪哇老妖”的答案 堆溢出啊,这和JDBC查询没关系,主要是加载到内存的数据对象太多,导致。把JVM内存设置大些 可以啊,代码方面就控制住对象生成数量即可。不要一次生成太多对象。 额  可以在数据库层面使用SQL分页 建索引,尽量使用索引查询,SQL优化,拆表等一些列优化措施都用上,实在不行做数据缓存,ehcache等

爱吃鱼的程序员 2020-06-03 20:46:11 0 浏览量 回答数 0

回答

回14楼tanrunhua的帖子 都是牛人大神啊,我有个疑问关于分页优化经过我自己本地测试,数据表中有1200万条数据根据子查询这种分页办法并没有起到太大的效果, 如果是主键id都是有序的话  select  *  from t where sellerid=100 AND id > 100000 -1 limit  20 这种情况0.0n就可以响应。 比哥(Q8):分页该怎么优化才行??? select  *  from t where sellerid=100 limit 100000,20   普通limit M,N的翻页写法,往往在越往后翻页的过程中速度越慢,原因   mysql会读取表中的前M+N条数据,M越大,性能就越差:   优化写法:   select t1.* from  t t1,               (select id from t  sellerid=100 limit 100000,20) t2   where t1.id=t2.id;   优化后的翻页写法,先查询翻页中需要的N条数据的主键id,在根据主键id   回表查询所需要的N条数据,此过程中查询N条数据的主键ID在索引中完成   注意:需要在t表的sellerid字段上创建索引   create index ind_sellerid on t(sellerid);   案例:   ------------------------- Re干货分享:DBA专家门诊一期:索引与sql优化问题汇总 赚云币抽奖,嘿嘿~ ------------------------- Re干货分享:DBA专家门诊一期:索引与sql优化问题汇总 赚云币抽奖,嘿嘿~ ------------------------- Re干货分享:DBA专家门诊一期:索引与sql优化问题汇总 赚云币抽奖,嘿嘿~ ------------------------- Re干货分享:DBA专家门诊一期:索引与sql优化问题汇总 赚云币抽奖,嘿嘿~ ------------------------- Re干货分享:DBA专家门诊一期:索引与sql优化问题汇总 赚云币抽奖,嘿嘿~

zhoujinghuan 2019-12-02 01:20:18 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站