我正在努力将原型Web应用程序转换为可以部署的东西。在某些位置,原型具有从表中选择所有字段的查询,尽管只需要一个字段或者查询仅用于检查记录的存在。大多数情况都是单行查询。
我正在考虑将这些查询更改为只获得真正相关的查询,即:
select * from users_table where <some condition>
VS
select name from users_table where <some condition>
我有几个问题:
感谢您的评论。
答案 0 :(得分:2)
如果我用一个单词回答你的所有三个问题,我肯定会说是。
答案 1 :(得分:1)
你可能想要的不只是“是”......
SELECT *
是“不好的做法”:如果你把结果读成PHP非关联数组;然后添加一列;现在数组下标可能已更改。WHERE
足够复杂,或者您有GROUP BY
或ORDER BY
,并且优化程序决定构建tmp表,则*
可能< / em>导致效率低下:必须使用MyISAM
代替MEMORY
; tmp表会更笨重;等EXISTS SELECT * FROM ...
以0或1回来 - 甚至更简单。EXISTS
(或合适的等效JOIN
)与其他查询结合使用,从而避免额外往返服务器。