所以我最近接管了内部内容管理系统的维护工作,而数据库优化并不是我的专业领域。
无论如何,当我查看代码时,有几件事引起了我的注意。
PHP 代码有点像“肉丸意大利面”,几乎没有注释。
但最重要的是:据我所知,最初的程序员决定完全放弃数据库代码中的表连接(隐式和显式)。
例如这里是显示页面列的过程:
从数据库中获取元素列表 为每个元素调用一个子例程来检查显示权限,如果成功,则调用另一个子例程来获取元素的 html 数据。
每个子例程有效地为每个元素调用一个单独的查询。我认为,权限步骤涉及查询两个单独的表。
目前性能并不是真正的问题,我也没有被要求调查这个问题。尽管我认为页面请求有点慢。
是否值得尝试重写 SQL 内容?我认为增加可维护性最终是值得的,如果将来可扩展性成为问题,这将使我的事情变得更容易。
或者它真的没有我想的那么糟糕吗?也许我只是 react 过度了。专家意见将不胜感激。
最佳答案
重构是开发过程的重要组成部分。忽视这一事实意味着 future 会出现更多问题。部分问题在于,没有多少管理者了解持续重构的重要性。
我建议您阅读 Joshua Kerievsky 的“Refactoring to Patterns”,其中有许多很好的示例,说明如何通过实现新的设计方法来安全地更改现有代码。
关于您关于 SQL 查询的问题,它可能是也可能不是您需要更改的第一件事。
关于php - PHP 循环中的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7301517/