多选和单选查询有什么区别

时间:2011-05-03 09:26:52

标签: php mysql

我想知道多个和单个选择查询之间的区别

单个查询

SELECT name,age,country FROM user 

多个查询

SELECT name FROM user 
SELECT age FROM user 
SELECT country FROM user 

我正在使用函数来获取用户表中每列的值...这就是为什么这个问题 出现..这可能很傻但我想知道

5 个答案:

答案 0 :(得分:4)

在第一种情况下,你会去杂货店一次,带着一个大包去回家,在第二种情况下,你会去杂货店3次,然后带着一个小包返回家。如果你迟到了,你应该先采取第一种方式......

答案 1 :(得分:2)

第二个问题毫无意义。如果它是UNION连接,那么解释差异会更有价值:

(SELECT name FROM user) UNION
(SELECT age FROM user) UNION
(SELECT country FROM user)

差异?没有真正的收获或理由需要更长的时间。 再次毫无意义。

SELECT name, age, country FROM user

这也是无效。您应该只选择您想要的数据,这将为所有用户选择 - 坏坏坏。


优化查询的更好方法

SELECT name, age, country FROM user WHERE username IN ('gary', 'john')

仅选择所需的数据。别:

  • 不要: SELECT *
  • 不要:选择所有记录
  • 不要:做多个没有意义的选择。

DO:从逻辑上思考您的数据,您真正想要的信息。始终使用EXPLAIN查询来真正了解每个查询的效果。

答案 2 :(得分:1)

在第一个示例中,您可以在单个查询中获得所需的所有数据,而在第二个示例中,您将需要执行三个查询(这很糟糕)并获得三个不同的数据集。

答案 3 :(得分:1)

究竟是什么样子。

只需一次查询即可一次性获取所有内容。

通过多个查询,您可以获得一件事。然后你要求另一件事并得到它。然后你又要求另外一件事。

即。问三个单独的时间是缓慢和浪费的,当计算机获得感知时,会导致不愉快的机器人殴打你。

答案 4 :(得分:0)

为什么您要使用静态定义的列标题运行三个查询,而不是选择:

SELECT name, age, country FROM user

超出我的范围!

如果您有两个具有相同表结构的表,则联合非常有用,但在这种情况下绝对不需要。