xiuno4性能折在面向对象了

xiuno每个帖子都是一个对象,每个对象都包含添加、修改、删除等功能。

但是在操作大批量数据,特别是列表、移动、删除等功能时,当前的思路会有很大问题。

xiuno是将列表所需要的帖子先读取出来,再对所有帖子ID逐个构建对象,并调用读取操作。

如果一个页面有20帖,那么列表页就至少需要执行1+20次对像构建及SQL操作,性能损耗十分严重。

这么多的操作放在面向过程里完全可以用一条SQL执行出来,举例来说:(并非xiuno结构)

SELECT * FROM `thread_cache` WHERE `tid` IN (SELECT * FROM `thread` ORDER BY `time` DESC LIMIT 20);

但是为了抽象和结构的规整、插件易开发,xiuno4牺牲掉了很大一部分性能上的优势。

面向对象不会影响太多性能,说白了,就是优化没做好,他在对象里也一样写一次性读20条记录然后扔出来个数组就行了,正常来说面向对象还是肥肠好用的,不会消耗太多性能。

FANAYUN
引用
面向对象不会影响太多性能,说白了,就是优化没做好,他在对象里也一样写一次性读20条记录然后扔出来个数组就行了,正常来说面向对象还是肥肠好用的,不会消耗太多性能。
FANAYUN 面向对象不会影响太多性能,说白了,就是优化没做好,他在对象里也一样写一次性读20条记录然后扔出来个数组就行了,正常来说面向对象还是肥肠好用的,不会消耗太多性能。

除非把列表作为一个对象这么操作才行,如果每个帖子构造一个对象,即便是数组那耗费的内存也比直接操作列表要高很多。[em_24]

优化没做好,不关面向对象的事

C
引用
FANAYUN面向对象不会影响太多性能,说白了,就是优化没做好,他在对象里也一样写一次性读20条记录然后扔出来个数组就行了,正常来说面向对象还是肥肠好用的,不会消耗太多性能。 除非把列表作为一个...
C 除非把列表作为一个对象这么操作才行,如果每个帖子构造一个对象,即便是数组那耗费的内存也比直接操作列表要高很多。[em_24]

我的意思是和你差不多,就是一次性加载20个帖子

列表增加项目,比如图片,vip显示等等都会增加sql的读取数量。

1