如果我有 10 个字段的 mySQL 表,并且我只需要检索某些字段的值,是否建议使用
SELECT field1, field2, field3 FROM...
而不是
SELECT * FROM...
我的意思是如果我使用 [SELECT field1, field2, field3....] 是否有助于更快地检索/脚本执行
如果我有 10 个字段的 mySQL 表,并且我只需要检索某些字段的值,是否建议使用
SELECT field1, field2, field3 FROM...
而不是
SELECT * FROM...
我的意思是如果我使用 [SELECT field1, field2, field3....] 是否有助于更快地检索/脚本执行
是的,您应该始终SELECT field1, field2, field3...
根据一些使用表格。
这*
是模棱两可的,我看到只是自动从表中选择每一列是懒惰的,尽管我对经常使用它感到内疚。
从优化的角度来看,您应该只选择您计划使用的字段。如果您明确知道正在检索哪些数据,它可能会使调试更加清晰。
如果您查询table
具有以下6800
记录的23 Columns
平均*
返回0.0009 Sec
记录
同样的查询5 Columns
取平均值0.0005 Sec
测试Dual Core Machine 2GB RAM
,Windows 7
和Phpmyadmin
结论
尽管*
速度优先,但始终建议使用必填字段
是的,如果您只想选择表中的一小部分字段,最好选择它们而不是拉回所有字段。差异并不大,但针对每个优化,它可能会有所帮助。
如果您有一个包含 20 个左右字段的表并且想要其中的 18 个,那么这样做可能会更容易/更整洁*
地获取所有字段。
编辑
可以在这个问题上找到更多信息。
是的,您应该只查询您需要的那些字段,因为不需要的字段将占用网络资源(从数据库服务器传输到后端服务器)和内存。