小编Jus*_*ork的帖子

对于来自同一行的多个选择,是否有比 Union All 更好的选择?

示例架构:

CREATE TABLE [dbo].[Base](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Option1ID] [int] NULL,
[Option2ID] [int] NULL,
[Option3ID] [int] NULL,
[Option1Name] [varchar] NULL,
[Option2Name] [varchar] NULL,
[Option3Name] [varchar] NULL,
[Option1LName] [varchar] NULL,
[Option2LName] [varchar] NULL,
[Option3LName] [varchar] NULL,)
Run Code Online (Sandbox Code Playgroud)

有没有办法让结果显示如下:

ID | OptionID | OptionName | OptionLName
Run Code Online (Sandbox Code Playgroud)

我尝试使用 UNION ALL 来实现这一点,但这意味着在我的示例中,在同一行上重复 3 次,在我的实际问题中,我必须这样做 10 次。由于遗留代码,我无法对表进行规范化。有没有办法只遍历 Base 行一次?

sql-server sql-server-2012

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

具有低锁定等待时间的锁定超时

在生产 SQL Server 2012 数据库上,我们得到了一些我不明白的奇怪锁定统计信息。

  • 锁定等待/分钟:0.2
  • 锁定超时/分钟:197.4
  • 死锁/分钟:0.0

@@lock_timeout 设置为 -1

如何在没有锁定等待的情况下获得锁定超时?我最近添加了一些缺失的索引,这会影响这些数字吗?

sql-server-2012

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

应用索引后的 TempDB 大小问题

几天前,我向 SQL Server 2012 数据库添加了几个索引以帮助提高性能。今天,我们的带有 TempDB 的分区空间不足。TempDB 从不到 10 GB 增加到 38 GB。运行后:

SELECT SUM(unallocated_extent_page_count) AS [free pages], 
(SUM(unallocated_extent_page_count)*1.0/128) AS [free space in MB]
FROM sys.dm_db_file_space_usage;
Run Code Online (Sandbox Code Playgroud)

看起来我在 tempDB 中有大约 22GB 的可用空间。我知道 TempDB 用于执行 SQL Server 完成的所有排序,但现在它导致了空间问题。如果 TempDB 有那么多可用空间,为什么它会抱怨服务器上的空间不足?我能做些什么来防止这个问题再次发生?

sql-server sql-server-2012

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

根据日期间隔查询链接在一起的记录

我在 SQL Server 2012 中有一个具有以下简化架构的表,我需要定义一个查询来获取最新的记录,然后返回它们之间间隔少于 30 天的记录链。一旦出现超过 30 天的差距,链条就会被打破,不再继续。重叠应该延续链条。有没有办法在不诉诸缓慢和递归的情况下解决这个问题?

架构

ID          (int)
Arrival     (datetime)
Departure   (datetime)
Run Code Online (Sandbox Code Playgroud)

样本数据

ID Arrival       Departure
1 2009-04-19    2009-04-28 
2 2009-04-27    2009-05-21 
3 2009-06-11    2009-07-01 
4 2009-07-19    2009-07-24 
5 2004-04-19    2004-04-21 
6 2009-02-28    2009-03-05
Run Code Online (Sandbox Code Playgroud)

所需查询结果

ID Arrival       Departure
4 2009-07-19    2009-07-24 
3 2009-06-11    2009-07-01
2 2009-04-27    2009-05-21 
1 2009-04-19    2009-04-28 
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2012

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

标签 统计

sql-server-2012 ×4

sql-server ×3