数据库 SELECT 问题

2014-05-21 11:40:12 +08:00
 judezhan
在开发的过程中,如果你要根据某个条件从数据库中获取一条记录的信息,那你会选择select * 还是指定需要返回的数据?

这么说可能比较模糊,我们来假设一个场景。

一个典型的MVC架构中,你的User Model中有一个方法提供根据用户ID来获取该用户所有信息的功能。那你会写SELECT * 还是说只SELECT需要的数据?
2966 次点击
所在节点    程序员
8 条回复
34D
2014-05-21 11:43:26 +08:00
你是处女座吗?

我反正是select需要的数据。
P99LrYZVkZkg
2014-05-21 11:46:02 +08:00
当然是需要的,性能要高,而且安全。

我见过某大平台 select * 结果是json里面包含用户密码。
MasterYoda
2014-05-21 11:52:36 +08:00
当然是需要的。
即使需要全部的时候,我也喜欢把所有列打出来,以后表结构变更时导致的问题会少一些。
judezhan
2014-05-21 12:26:11 +08:00
@34D 你还真是空啊,不是刷推,聊Q就是逛V2,你们公司请了你这样的员工,看来是不想IPO了。。。
mengzhuo
2014-05-21 12:40:34 +08:00
这竟然还有疑问……
必须是按需取数据啊,就算没有ORM,
你觉得DBA会让你这么写么
dong3580
2014-05-21 12:44:29 +08:00
@judezhan
最好要用具体的名称代替 *, * 更耗费时间和性能。
34D
2014-05-21 12:57:55 +08:00
@judezhan 草,你自己这边发帖,那边刷推,还说我。/咒骂
ctoicqtao
2014-05-21 21:20:03 +08:00
这个问题呢,我最近用Entity Framework开发的过程中发现,如果select * 的话,会把关联有外键的数据全部拉出来,,也可能是我技术的问题,然后无奈的情况下,只能返回一个匿名对象。。把需要的数据拉出来。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/113540

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX