【问题标题】:mySQL Query - Selecting FieldsmySQL 查询 - 选择字段
【发布时间】:2013-04-25 06:20:31
【问题描述】:

如果我的 mySQL 表有 10 个字段,我只需要检索某些字段的值,是否建议使用

SELECT field1, field2, field3 FROM...

而不是

SELECT * FROM...

我的意思是,如果我使用 [SELECT field1, field2, field3....],它是否有助于更快地检索/脚本执行?

【问题讨论】:

    标签: mysql


    【解决方案1】:

    是的,您应该只查询您需要的那些字段,因为不需要的字段将占用网络资源(从数据库服务器传输到后端服务器)和内存。

    【讨论】:

      【解决方案2】:

      是的,如果您只想选择表中的一小部分字段,最好选择它们而不是拉回所有字段。差异并不大,但针对每个优化,它可能会有所帮助。

      如果您有一个包含 20 个左右字段的表并且想要其中的 18 个,那么只需执行 * 即可获得所有字段可能会更容易/更整洁。

      编辑

      更多信息可以在this问题上找到。

      【讨论】:

        【解决方案3】:

        是的,根据某些人的说法,您应该始终使用SELECT field1, field2, field3... 表单。

        * 是模棱两可的,我认为只是自动从表中选择每一列是懒惰的,尽管我经常使用它。

        从优化的角度来看,您应该只选择您计划使用的字段。如果您明确知道正在检索哪些数据,它可能会使调试更加清晰。

        【讨论】:

          【解决方案4】:

          如果您查询table6800 记录具有23 Columns

          使用 * 时,平均 0.0009 Sec 返回记录

          5 Columns 相同的查询取平均0.0005 Sec

          Dual Core Machine 2GB RAMWindows 7Phpmyadmin 上测试

          结论

          尽管* 优先考虑速度,但始终建议使用必填字段

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-09-18
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-07-03
            • 2018-11-11
            相关资源
            最近更新 更多