0

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

SELECT field1, field2, field3 FROM...

而不是

SELECT * FROM...

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

4

4 回答 4

0

是的,您应该始终SELECT field1, field2, field3...根据一些使用表格。

*是模棱两可的,我看到只是自动从表中选择每一列是懒惰的,尽管我对经常使用它感到内疚。

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

于 2013-05-01T08:46:17.230 回答
0

如果您查询table具有以下6800记录的23 Columns

平均*返回0.0009 Sec记录

同样的查询5 Columns取平均值0.0005 Sec

测试Dual Core Machine 2GB RAMWindows 7Phpmyadmin

结论

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

于 2013-05-01T08:52:04.050 回答
0

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

如果您有一个包含 20 个左右字段的表并且想要其中的 18 个,那么这样做可能会更容易/更整洁*地获取所有字段。

编辑

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

于 2013-05-01T08:30:17.550 回答
0

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

于 2013-05-01T08:30:42.207 回答