【发布时间】:2023-03-09 09:35:01
【问题描述】:
上下文:
- 我们有一个 PHP/MySQL 应用程序。
- 某些计算部分直接在 SQL 中完成。例如:过去 24 小时内创建的所有用户都将通过 SQL 查询返回(NOW() – 1 天)
一位开发人员和我之间正在进行一场辩论,我认为我们应该:
A.将所有计算/代码/逻辑保存在 PHP 中,并将 MySQL 视为“愚蠢”的信息存储库
他的意见:
B.根据更容易/更快的情况进行混合和匹配。 http://www.onextrapixel.com/2010/06/23/mysql-has-functions-part-5-php-vs-mysql-performance/
我正在研究可维护性的观点。他关注的是速度(正如文章所指出的,MySQL 中的某些操作更快)。
@bob-the-destroyer @tekretic @OMG 小马 @mu 太短了 @都铎君士坦丁 @tandu @哈雷
我同意(而且很明显)高效的 WHERE 子句属于 SQL 级别。但是,像这样的例子呢:
- 在 SQL 中使用 NOW() - 1 天计算 24 周期以选择过去 24 小时内创建的所有用户?
- 返回所有用户的大写名字和姓氏?
- 连接字符串?
- (想法,伙计们?)
属于 SQL 域的清晰示例:
- 特定的 WHERE 选择
- 嵌套 SQL 语句
- 排序/排序
- 选择 DISTINCT 项
- 计算行数/项目数
【问题讨论】:
-
哪个选项可以更好地扩展?是让数据库返回信息更好,还是在给我之前坐下来计算?
-
如果问题集中在可维护性上,那么它在很大程度上取决于技能领域。是Mysql还是PHP他的强项?给自己怎么样?一个复杂的查询可能会节省 20 行 PHP 代码,但它对不理解其结果的 PHP 编码人员无济于事。
标签: php mysql performance maintainability