Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 在多大程度上,对数据库进行一次查询比进行两次查询更好?_Database - Fatal编程技术网

Database 在多大程度上,对数据库进行一次查询比进行两次查询更好?

Database 在多大程度上,对数据库进行一次查询比进行两次查询更好?,database,Database,我的问题:我必须查询数据库以获取crafts的结果,并使用字体找到最佳匹配 我正在和我的朋友谈话,他说:你应该查询数据库以获取所有结果,然后循环查询并执行任务。 我是个小混蛋,这让我想:现在这很有意义,因为我桌上只有7/8件工艺品。当webapplication增长,我将拥有200/300/800个工艺品时,会发生什么? 我这里的问题是:一次查询一个数据库在多大程度上更好?例如,我正在使用打字机查询数据库,从表profissoos中获取工艺,它有8个工艺。现在查询一次并返回所有工艺品是有意义的。

我的问题:我必须查询数据库以获取
crafts
的结果,并使用
字体
找到最佳匹配

我正在和我的朋友谈话,他说:
你应该查询数据库以获取所有结果,然后循环查询并执行任务。

我是个小混蛋,这让我想:
现在这很有意义,因为我桌上只有7/8件工艺品。当webapplication增长,我将拥有200/300/800个工艺品时,会发生什么?

我这里的问题是:一次查询一个数据库在多大程度上更好?例如,我正在使用打字机查询数据库,从表
profissoos
中获取
工艺
,它有8个工艺。现在查询一次并返回所有
工艺品
是有意义的。如果我的表有800条记录呢?一万张唱片? 一次查询数据库并获得800条记录或每按3个字符查询一次数据库有意义吗?你如何量化这种单位


这是一个本地想法,但它可以应用于使用DB的任何东西。

这里没有单一的答案。这要看情况,这是你能得到的最好的了。对数据库执行两个单独的查询将导致网络流量开销和与数据库服务器进行两次对话。这会比执行一个查询好吗?谁知道呢,这取决于这两个查询与那一个查询的比较。没有银弹。在客户机上获取所有记录和筛选有意义吗?当然不是。如果这是执行两个查询的替代方案,请不要这样做。执行这两条语句。(是的,在很多情况下,做第一件事的表现会比做第二件好,但是如果你不看具体的场景就听从别人的建议,也就是“相信我,我知道我在做什么”,那么至少不要做表格扫描)在任何情况下,要处理这样的性能问题,唯一可行的解决方案是:测量,测量,测量。建立实际规模的测试系统并进行实际性能测试。这将告诉您,对于您的特定案例,什么将表现得更好。@LasseV.Karlsen完全正确。重要的是要实现,这样您就可以通过更改访问模式进行调优,而不必扔掉代码。如果您只有几条记录,那么谈论性能就毫无意义了。如果考虑1000行,那么执行表扫描(检索所有行)不是一个好主意。时期