小编gor*_*ric的帖子

获得随机排序的最佳方法是什么?

我有一个查询,我希望随机排序结果记录。它使用聚集索引,所以如果我不包括order by它,它可能会按照该索引的顺序返回记录。如何确保随机行顺序?

我知道它可能不是“真正的”随机,伪随机足以满足我的需要。

sql-server

32
推荐指数
4
解决办法
5万
查看次数

为什么有人会在查询中输入“where 1=1”?

我今天在我们的数据库中遇到了一个视图,其中 where 子句中的第一个语句是where 1 = 1. 这不应该对每条记录都返回 true 吗?如果不过滤任何记录,为什么有人会写这个?

sql-server-2005

19
推荐指数
2
解决办法
6930
查看次数

什么是数据库统计信息,我如何从中受益?

我听说过 SQL Server 默认保留的统计信息。他们在跟踪什么,我如何使用这些信息来改进我的数据库?

sql-server-2005 statistics

18
推荐指数
2
解决办法
4万
查看次数

包含表的所有列的主键有什么好处吗?

我有一个包含四列的表,这些列都是不可为空的,并且数据是这样的,需要所有四列来区分唯一记录。这意味着如果我要创建一个主键,它需要包含所有列。对表的查询几乎总是拉回单个记录,即所有列都将在查询中被过滤。

由于需要搜索每一列,拥有主键对我有好处吗(除了强制记录的唯一性)?

sql-server-2005 primary-key

17
推荐指数
2
解决办法
1万
查看次数

唯一聚集索引和聚集主键之间有什么明显的区别吗?

我知道两者之间的含义意图可能有所不同,但是聚集主键和聚集唯一索引之间是否存在任何行为或性能差异?

index sql-server-2005 primary-key clustered-index

17
推荐指数
2
解决办法
1545
查看次数

有没有办法以编程方式编写与给定表关联的所有对象的脚本?

我知道在 SQL 管理工作室中,我可以右键单击表/触发器/键和script object as.... 给定对象的名称,有没有办法以编程方式执行此操作?

如果是这样,有没有办法找到与给定表关联的所有对象(主键、外键、触发器)并以编程方式编写所有这些对象?

sql-server-2005

9
推荐指数
2
解决办法
2488
查看次数

你如何重构一个丑陋的过程/查询?

我继承了一个数据库,其中包含几个 1000-1500 行长的过程,复杂的嵌套子选择在某些地方深达 7 或 8 层。为了我自己的理智,我迫切需要重构它们,但是我怎么能以任何程度的信心开始这样做呢?

如果这是 .Net,我会编写单元测试 - 您是否推荐类似的方法?

stored-procedures query-refactor

6
推荐指数
1
解决办法
766
查看次数

为什么我不能在用户定义的表值函数中使用 newid()?

我最近发现 SQL Server 2005 不允许newid()在用户定义的函数中使用。为什么是这样?

我有一个适合我需求的替代解决方案,所以我不是在寻找解决这个问题的方法。我很好奇为什么设计师会做出这个决定。

sql-server-2005

5
推荐指数
1
解决办法
2517
查看次数

您如何处理在查询中相互添加可为空的列?

目前,每当我编写一个添加可以包含空值的列的查询时,我都会将每个字段包装在isnullor 中coalesce,例如coalesce(score1,0) + coalesce(score2,0). 有没有更好的方法来处理这个问题,或者这是标准做法?

sql-server-2005

5
推荐指数
1
解决办法
124
查看次数

过滤或以其他方式操作存储过程返回的结果的最佳方法是什么?

我经常发现自己想要过滤或排序通过execing 存储过程返回的结果- 例如sp_who2按登录或 CPU 时间排序输出,或按主机名过滤它。实现这一目标的最佳方法是什么?

sql-server

4
推荐指数
1
解决办法
6292
查看次数