|
|
1
3
选择*自。。。除非需要所有列,否则并不总是最好的方法。这是因为,例如,如果一个表有10列,而您只需要其中的2-3列,并且这些列被编入了索引,那么如果您使用SELECT*查询将运行得较慢,因为服务器必须从数据文件中获取所有行。如果只使用实际需要的2-3列,那么如果行是从覆盖索引中提取的,那么服务器可以更快地运行查询。覆盖索引是用于返回结果而不读取数据文件的索引。 因此,只有在实际需要所有列时才使用SELECT*。 |
|
|
2
4
如果您真的需要所有的列,并且要按名称获取结果,我会继续使用
|
|
3
2
|
|
|
4
1
表别名的存在有助于演示什么是列(以及它来自何处)和派生列。 |
|
|
5
1
总是
需要所有的专栏吗
|
|
|
6
0
唯一真正的性能打击你从使用
|
|
|
7
0
|
|
|
8
0
是,选择*不正确。您没有说明要使用什么语言来处理返回的数据。假设您将这些记录作为数组(而不是哈希映射)接收回来。在这种情况下,第[12]行是什么?也许你写应用程序的时候是ZipCode,但是猜猜看如果有人在ZipCode之前插入一个字段SuiteNumber会发生什么。 或者假设下一个编码器将一个巨大的blob字段附加到每个记录。哎哟!
Select*牺牲了可维护性,以节省一点输入。 |
|
|
Bard.Mus · 迁移后的数据库字符集环境 1 年前 |
|
Efannnnnn · 将Id数据存储到任何页面 1 年前 |
|
|
yooooo · 用于在块中删除的存储过程-LOOP未执行 1 年前 |
|
John Beasley · 更新一定数量记录的连续日期 1 年前 |
|
|
ColinM · MySQL以前的结果查询返回不正确的值 1 年前 |
|
Sergey_Z · MySQL只需无条件连接2个表和交叉连接 1 年前 |