![]() |
1
2
在编写长而复杂的SELECT语句时,尝试将结果限制为一条记录。 例如,假设你有一个巨大的令人敬畏的CMS系统,你必须编写内部报告,因为它附带的报告是可怕的。你注意到大约有500张桌子。select语句连接了其中30个表。您的结果应该使用WHERE子句来限制行数。 我的建议是编写所有这些代码,并将其推广到所有情况,分解问题,使用WHERE,并将行数限制为只说一条记录。检查所有字段,如果它们看起来正常,将其拆分,让代码返回更多行。只有在进一步检查之后,你才能概括。
|
![]() |
2
2
一种选择是使用自然关键点。 实际上,redgatesql提示符为我选择FK列。 我也倾向于一次建立一个连接,看看事情是怎样的。 |
![]() |
3
1
|
![]() |
4
1
您的列名应该注意这一点,除非您将它们全部命名为“ID”。是否使用相同的表编写多个select语句?您可能希望为更常见的视图创建视图。 |
![]() |
5
1
如果您使用的是SQL Server,则可以使用GUID列作为主键(我们就是这样做的)。你不会再有碰撞问题了。 |
![]() |
6
1
您可以使用guid作为主键,但它有自己的特性 pros and cons 实际上,该页上没有提到此专业版。 我自己从来没有尝试过这样做——我在SQL上使用了一个工具,使得不正确的连接非常不可能,所以我没有这个问题。我只是想把它作为另一种选择提出来! |
![]() |
7
0
与之相反:
|
![]() |
Community wiki · SQL语法新手 1 年前 |
![]() |
KateMak · 是否将多行中的多列与唯一id组合? 1 年前 |
![]() |
Karuna · SQL中列内的筛选器[重复] 1 年前 |
![]() |
Irvan Affandy · 为另一个选择选择声明的键 1 年前 |
![]() |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
![]() |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |