几于道 我是这两天才开始了解和使用flarum的,在本地开发环境安装后觉得挺不错的。 今天偶然跟踪了一下SQL,发现首页等页面都有很大的多层嵌套的SQL。 最大的SQL用MySQL的explain分析后,拆分成了大约40个SQL。 想问一下,开发团队是否有对SQL性能进行过考虑和优化? 是否有进行过模拟数据和测试,比如1W用户1W贴的情况下,在4C8G这种机器上,多久能加载出来?!
Eric_Lian 结论:指令长度其实和性能关系不大。重点是在索引算法。 如果实在想调的话,自己弄个性能检测工具,查看查询计划,针对查询计划里的慢查询建索引。 然后,这么长的指令不是人写的,是查询中间件一层一层套进去的。这样的好处是插件也能够更好地干预 flarum 的行为,而不用进行巨大的改动。属于是灵活性导致产生这么长的 sql 语句的。