东城︶ㄣLee 发表于 2012-4-24 20:37:01

优化无止境,多谢分享!

h280338871 发表于 2012-4-26 15:31:02

1楼的我怎么就不明白了,ci本身的分页会比你些的慢 没发觉
只不过你的sql语句写的不好

visvoy 发表于 2012-5-2 23:30:29

最直接的对比方式,看下三种语句的explain

太尉天上飞 发表于 2012-5-3 00:33:33

分页类不需要谈什么效率吧,只是个显示用的,关键在sql:$

xiaozhuaisnow 发表于 2012-5-8 17:26:38

大数据量的分页展示的确比较消耗资源,占用内存。可用ORM中的$object->get_iterated()方法,get_iterated()方法可减少内存开销,提高数据查询效率。具体信息看http://datamapper.wanwizard.eu/pages/getalt.html      

阿方提 发表于 2012-6-5 17:23:08

学习了

broshan 发表于 2012-6-9 02:58:19

单一主键索引按照主键分页再慢能慢到哪去?
6楼提供的方法加个order by试试
15楼说的迭代器就是原生php的做法
这种方法是优化了内存使用率,跟讨论的分页SQL执行效率是两回事
支持5楼的做法,赞同10楼的说法,自由度掌握在自己手里
做过几个稍微大点的项目,优化方案都不是从SQL语句切入的
全是按照业务逻辑重新整理数据结构,优化索引,必要时使用分表和分区
百万级的简单数据表就不用考虑那么多了,保证单表操作,都不会影响效率
哪怕运行时间达到一秒,离可忍受的慢查询标准还有一段距离呢,纠结那0.0几秒没有实际意义



花花世界 发表于 2012-6-13 12:00:43

还冷清 你的要求不低啊

太尉天上飞 发表于 2012-7-1 23:58:43

分页类不应该会涉及到多大的效率问题吧!
分页类只是用来显示,设计到的数据库的不应该跟他混为一谈。
数据库总量,数据库limit查询才是我们应该考虑优化的地方。

kenny828 发表于 2012-7-12 09:54:59

avinmo 发表于 2012-4-19 09:38 static/image/common/back.gif
下面贴上部分代码供大家参考。

                $segment4 = (int)$this->uri->segment(4);


其实这种方式确实很快,在特定的条件下是非常有用的!大家要注意order by id desc,这里是用id比较的,所以只能用ID来排序,用其它的不行
页: 1 [2] 3
查看完整版本: 十万级数据量的CI分页类优化,比原生分页类快一百倍!!