我有一个包含以下字段的表格:
ID,tomato1,tomato2,tomato3
tomato1,2,3
是文字列。
每个tomato1
条目都是唯一的,ID是autoincrement int,其他所有条目都是VARCHAR
我只给了番茄1。
我正在使用查询:
SELECT * WHERE tomato1='whatever'
我听到互联网上的一些人说不要使用SELECT *
,所以我想问一下,这是一个不好的方法吗?是否有更有效的查询代码/方法?
答案 0 :(得分:1)
星号表示您始终选择此表中的所有列。因此,如果您只想输入tomato3,则查询应为:SELECT tomato3 FROM tomatoes WHERE tomato1='whatever'
答案 1 :(得分:0)
通常只查询您需要的数据,因为它限制了传输数据的数量,因此SELECT ID, tomato2, tomato3 WHERE tomato1 = 'whatever'
可能更好。
答案 2 :(得分:0)
主要是为了检索比所需更多的数据,从而影响性能。您是否使用了所有列中的数据? 它也可以帮助代码维护,因为你明确地调用所有内容而不是通用的' *'。
答案 3 :(得分:0)
此外,如果您将来更改表,并且您的应用程序只期望当前存在的字段,SELECT *将带来应用程序不期望的字段。 使用命名字段的SELECT更具有可持续性。