Sql 从tablename选择*和从tablename选择column1、column2之间是否存在性能差异?

Sql 从tablename选择*和从tablename选择column1、column2之间是否存在性能差异?,sql,mysql,query-optimization,Sql,Mysql,Query Optimization,可能的重复项: select*from tablename和select column1、column2 from tablename之间是否存在性能差异 当它是select*from时,数据库将拉出超过2个字段/列的所有字段/列。那么第一次查询是否花费了更多的时间/资源?在每种情况下,您都应该测试您的更改。您可以使用探查器来完成此操作 对于mysql,请参见:在每种情况下,您都应该测试您的更改。您可以使用探查器来完成此操作 对于mysql,请参见:如果您从中选择*,则存在两个性能问题: 数

可能的重复项:

select*from tablename
select column1、column2 from tablename
之间是否存在性能差异


当它是
select*from
时,数据库将拉出超过2个字段/列的所有字段/列。那么第一次查询是否花费了更多的时间/资源?

在每种情况下,您都应该测试您的更改。您可以使用探查器来完成此操作


对于mysql,请参见:

在每种情况下,您都应该测试您的更改。您可以使用探查器来完成此操作


对于mysql,请参见:

如果您从中选择*,则存在两个性能问题:

  • 数据库必须确定表中存在哪些列
  • 从服务器发送到客户端的数据更多(所有列,而不是只有两列)

  • 如果从中选择*,则存在两个性能问题:

  • 数据库必须确定表中存在哪些列
  • 从服务器发送到客户端的数据更多(所有列,而不是只有两列)

  • 这是有区别的,特别是当其他列是BLOB或(大)文本字段时。如果表只包含两列,则没有区别。

    有区别,特别是当其他列是BLOB或(大)文本字段时。在这种情况下,您的表只包含两列,没有区别。

    我已经使用探查器进行了检查-答案似乎是否定的-两个查询的执行时间相同。 表中的字段相对较小,因此结果集中不会出现大量我可能不需要的数据。
    如果结果集中有不需要的大数据字段,请不要将其包含在查询中

    我已使用探查器进行了检查-答案似乎是否定的-两个查询的执行时间相同。 表中的字段相对较小,因此结果集中不会出现大量我可能不需要的数据。
    如果结果集中有不需要的大数据字段,请不要将其包含在查询中

    一般来说,答案是肯定的!因为对于小型数据库,您看不到性能差异。。。但是,如果您使用非限定的
    *
    选择器作为速记,最大的数据库可能是相关的差异

    通常,最好实例化要从中检索数据的每个列


    我可以建议您阅读如何优化SELECT和其他语句

    答案通常是肯定的!因为对于小型数据库,您看不到性能差异。。。但是,如果您使用非限定的
    *
    选择器作为速记,最大的数据库可能是相关的差异

    通常,最好实例化要从中检索数据的每个列


    我可以建议您阅读如何优化SELECT和其他语句

    虽然一次运行一个查询可能不会有太大的区别,但如果您在应用程序中使用select*,尤其是在执行连接时使用select*,您肯定会返回不需要的数据,那么很明显,除了开发人员的懒惰之外,您并没有什么好的理由使系统变慢。Select*几乎不应该在生产系统上使用。

    虽然一次运行一个查询可能不会有太大的区别,但如果您通过应用程序使用Select*,尤其是在执行连接时使用它,您肯定会返回不需要的数据,很明显,除了开发人员的懒惰之外,你没有什么好的理由使系统变慢。Select*几乎不应该在生产系统上使用。

    好吧,我想这取决于您所谈论的性能类型:数据库还是程序员

    作为一个不得不清理数据库中编写的数据库查询的人

    select * from foo
    
    格式,这完全是一场噩梦。数据库可以而且确实会发生变化,因此,出于性能原因,整洁的规范化数据库现在已被非规范化,而为获取所有内容而编写的大量杂乱无章的查询现在正费力地返回大量数据

    如果你不需要它,不要要求它。花点时间,想想那些跟随你的人,他们需要处理你的选择


    我的LIM还有一整部分要清理,谢谢你提醒我。-唉

    好吧,我想这取决于你所说的性能类型:数据库还是程序员

    作为一个不得不清理数据库中编写的数据库查询的人

    select * from foo
    
    格式,这完全是一场噩梦。数据库可以而且确实会发生变化,因此,出于性能原因,整洁的规范化数据库现在已被非规范化,而为获取所有内容而编写的大量杂乱无章的查询现在正费力地返回大量数据

    如果你不需要它,不要要求它。花点时间,想想那些跟随你的人,他们需要处理你的选择


    我的LIM还有一整部分要清理,谢谢你提醒我。-叹气

    重复:另一个:当我用问题标题搜索时,前两个结果讨论了相同的问题!重复:另一个:当我用问题标题搜索时,前两个结果讨论了同一个问题!