gpt4 book ai didi

mysql - NotORM 的连接与多选

转载 作者:可可西里 更新时间:2023-11-01 07:41:00 25 4
gpt4 key购买 nike

我正在查看这个名为 NotORM 的 PHP 数据库库在阅读其文档后,我了解了它对连接的立场。争论的焦点基本上是使用连接的单个 SQL 查询与使用多个选择查询然后在数据库抽象层中交叉引用结果的性能。

我一直都知道单一查询应该总是比使用多个查询更好,所以 NotORM 的想法对我来说是新的。我也不确定这一点,因为我只在 NotORM 中看到了这个“功能”。

我想问问大家对此的看法。

哪个查询更好更快?

这...

SELECT application.*, tag.*
FROM application
LEFT JOIN application_tag ON application.id = application_tag.application_id
LEFT JOIN tag ON application_tag.tag_id = tag.id
ORDER BY application.id

相对于...

SELECT * FROM application LIMIT 4;
SELECT * FROM application_tag WHERE application_id IN ('1', '2', '3', '4');
SELECT * FROM tag WHERE id IN ('21', '22', '23', '24');

这第二种方法真的实用吗?

最佳答案

我希望单个查询会快很多。但是将取决于 php 和 MySQL 之间的通信。当我尝试对其进行基准测试时,仅执行查询(无论多么简单)就会产生明显的开销。

但是,如果查询变得过于复杂,您将遇到难以维护的问题。

如果您尝试使用任何自定义过程,则会出现另一点。例如,我需要根据 Levenshtein 距离(即单词的相似程度)进行一些处理。我为此找到的 MySQL 函数比使用 PHPs Levenshtein 函数检索数据和处理慢得多。

关于mysql - NotORM 的连接与多选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12875835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com