【问题标题】:Mysql php querying improvement over SELECT star...beginner easy [duplicate]Mysql php查询对SELECT星的改进......初学者很容易[重复]
【发布时间】:2011-05-29 09:08:24
【问题描述】:

我有一个包含以下字段的表格:

ID,tomato1,tomato2,tomato3

tomato1,2,3 是文本列。 每个tomato1 条目都是唯一的,ID 是 autoincrement int,其他都是 VARCHAR 我只得到了tomato1。

我正在使用查询:

SELECT * WHERE tomato1='whatever'

我在网上听到有人说不要使用SELECT *,所以我想问一下,这样做是不是不好?有没有更高效的查询代码/方法?

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    此外,如果您将来更改表,并且您的应用程序只需要今天存在的字段,则 SELECT * 将带来应用程序不期望的字段。 带有命名字段的 SELECT 更易于维护。

    【讨论】:

      【解决方案2】:

      这主要是因为检索到的数据多于所需数据,因此会影响性能。您是否使用所有列中的数据? 它也有助于代码维护,因为您明确调用所有内容而不是通用的“*”。

      【讨论】:

        【解决方案3】:

        星号表示您始终选择此表中的所有列。所以如果你只想要tomato3的条目,你的查询应该是:SELECT tomato3 FROM tomatoes WHERE tomato1='whatever'

        【讨论】:

        • 我明白了。我的目标是:给定tomato1 返回tomato2 和tomato3。所以是:从表 1 中选择番茄 2 和番茄 3 WHERE 番茄 1='whatever' 正确吗?
        • SELECT tomato2, tomato3 FROM table1 WHERE tomato1 = 'whatever'(在您的选择子句中没有AND,只是逗号分隔)
        【解决方案4】:

        一般只查询你需要的数据,因为它限制了传输的数据量,所以SELECT ID, tomato2, tomato3 WHERE tomato1 = 'whatever'可能会更好。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-12-08
          • 2011-03-15
          • 2015-09-27
          相关资源
          最近更新 更多