比如有:
select * from tbl_1 where type=1 order by datetime asc limit 80000;
我只需要从tbl_1中获取按时间排序后的记录中的最后一行,而不是全部80000行,如果使用fetch一直提取到最后一行,感觉不理想。有变通的办法没?实际的需求是:获取表中符合条件的某一行记录,和他前后10行记录。但定位“表中符合条件的某一行记录”不能通过id直接定位。php中支持直接fetch最后一行的操作吗?效率与从头fetch相比有提高还是一样的?如果使用
select max(datetime) from (select * from tbl_1 where type=1 order by datetime asc limit 80000) tmp;
同样存在结果集很大时,查询效率问题--查询计划中,取max是通过中间结果集获取的,无索引可用,中间结果集越大,问题越突出。
select * from tbl_1 where type=1 order by datetime asc limit 80000;
我只需要从tbl_1中获取按时间排序后的记录中的最后一行,而不是全部80000行,如果使用fetch一直提取到最后一行,感觉不理想。有变通的办法没?实际的需求是:获取表中符合条件的某一行记录,和他前后10行记录。但定位“表中符合条件的某一行记录”不能通过id直接定位。php中支持直接fetch最后一行的操作吗?效率与从头fetch相比有提高还是一样的?如果使用
select max(datetime) from (select * from tbl_1 where type=1 order by datetime asc limit 80000) tmp;
同样存在结果集很大时,查询效率问题--查询计划中,取max是通过中间结果集获取的,无索引可用,中间结果集越大,问题越突出。
解决方案 »
- 关于session.save_path的问题 急!!!跪求大虾解决
- 请问为何在连接数据库mysql正常,而在别人的服务器上却失败?
- PHP 可以用来开发数据库吗?
- 第七世界开发组委托发帖:欢迎大家参与这个开放游戏平台的开发
- 视频格式在线转换成FLV如何实现,用ASP或php
- 通过phpmyadmin查看到一些很奇怪的进程,大家快来看看啊
- 满分求解:谁知道,php中mcrypt(win32)扩展库哪有下载,或者mhash(win32)
- 最后确认一下,不需要身份验证的的SMTP服务器就能通过mail()发邮件??
- 如何判断输入的是整数???
- SQL语句问题,关联查询,一对多
- 关于php正则替换
- 想询问一下如何实现新建一个匹配某个xml schema的xml文档
直接提取第一行?看到手册有mysqli_data_seek可以直接提取最后一行,不知道它的工作效率怎么样。了解的朋友请来说一说。
如果 有索引 主键,TYPE 还会更快另外的需求,请看我这篇文章行号
select * from tbl_1 where type=1 order by datetime asc limit 80000;只取最后一行应写作
select * from tbl_1 where type=1 order by datetime asc limit 80000, 1;如果表中只有80000条记录,则
select * from tbl_1 where type=1 order by datetime desc limit 1;
嗯,没想到这样使用。既然已经问到mysqli_data_seek,有没有朋友熟悉它的?假设就是拿到了一个很大的结果集,用它定位到最后一回比,从头fetch到最后一行,性能差别大吗?
mysql好象没有缓冲池中间层好象上面的函数处理是这样的!一,连接不能释放;
二,取时可能要重新要数据库执行这个操作;具体查手册!
因为打开了一个资源,而资源仍在mysql上!