小编Nic*_*mas的帖子

SQL Server 中的 SLEEP_TASK 等待类型 - 它表示什么?

我以前没有见过SLEEP_TASK等待类型,今天我似乎得到了很多。

我不是正式的 DBA,只是一名了解 DBA 知识的 SQL Server 开发人员。我们上周末将服务器升级到10.52.2500.0- 我认为是 R2SP1。

我在网上能找到的所有信息都表明SLEEP_TASK服务器正在等待某种内部进程完成。我没有任何阻塞或任何后台进程,如检查点或幽灵清理运行,所以我有点难住。

有没有人以前见过这种等待类型,如果有,你能告诉我是什么原因造成的吗?

sql-server sql-server-2008-r2 wait-types

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

表定义中的列顺序重要吗?

定义表时,按目的对逻辑组中的列和组本身进行排序会很有帮助。表中列的逻辑顺序向开发人员传达了意义,是良好风格的元素。

这是清楚的。

然而,不清楚的是,表中列的逻辑顺序是否对其在存储层的物理顺序有任何影响,或者是否有任何其他人可能关心的影响。

除了对样式的影响之外,列顺序是否重要?

Stack Overflow 上有一个关于这个的问题,但它缺乏权威的答案。

sql-server-2008 database-design sql-server database-internals

38
推荐指数
3
解决办法
2万
查看次数

MongoDB 的 find 和 findone 调用的区别

我正在处理一个项目,我不确定find光标的工作方式和光标的工作方式之间是否存在差异findOne。findOne 只是一个包装器find().limit(1)吗?我一直在寻找它,也许有人知道 mongodb 是否有特殊的方法。如果这有所作为,我正在使用 mongodb 的 PHP API。

mongodb

37
推荐指数
2
解决办法
3万
查看次数

如何判断 SQL Server 数据库是否仍在使用中?

我们希望停用一个 SQL Server 实例,该实例上仍保留有几个数据库。

如何判断用户或 Web 应用程序是否仍在使用它们?

我找到了一个论坛帖子,里面有一个 T-SQL 查询,你可以运行它来检索上次查询日期。它似乎有效,但我想知道此信息是否足够有效以删除数据库。是吗?

如果您有其他方法也有帮助。

sql-server t-sql

35
推荐指数
4
解决办法
7万
查看次数

我应该如何设计友谊关系表?

如果A是 的朋友B,那么我应该存储两个值ABBA,还是一个就足够了?两种方法的优缺点是什么。

这是我的观察:

  • 如果我同时保留两个,那么在收到朋友的请求时我必须更新两个。
  • 如果我不保留两者,那么我发现在必须对JOIN这张表进行多次处理时会很困难。

目前,我以一种方式保持这种关系。

在此处输入图片说明

那么在这种情况下我应该怎么做呢?有什么建议吗?

mysql relational-theory

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

设计一个平台:一个数据库还是多个数据库?

我们正在构建一个包含多种服务的网络平台,每个服务都有自己的底层数据。这些服务是按照面向服务的架构原则独立构建的,但它们针对潜在的相关数据进行交易。我们正在考虑这些服务是否应该共享一个大数据库或每个都有自己的数据库。(我们计划在 Windows 2008 群集上使用 SQL Server 2008 Enterprise。)

我们已经考虑过的每种方法的一些优点包括:

单一数据库

  • 来自不同服务的相关数据可以通过外键约束绑定在一起
  • 分析提取更易于编写且执行速度更快
  • 发生灾难时,更容易将平台恢复到一致状态
  • 对于被多个服务引用的数据,一个服务缓存的数据很可能很快就会被另一个服务使用
  • 预先管理和监控更简单、更便宜

多个数据库

  • 维护工作、硬件问题、安全漏洞等不一定会影响整个平台
  • 假设每个数据库都在不同的硬件上,扩展多台机器比扩展一台大机器会产生更多的性能优势

从操作的角度来看,这个平台中的每个服务都有自己的数据库,还是都放在同一个数据库中更有利?哪些关键因素决定了这个问题的答案?

database-design deployment

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

对于表的大量更改,有什么更好的方法:DELETE 和 INSERT 每次或 UPDATE 存在?

我正在做一个项目,我需要每天在一张表中更改大约 36K 条记录。我想知道什么会表现得更好:

  1. 删除行并插入新行,或
  2. 更新已经存在的行

对我来说,删除所有行并插入新行会更容易,但如果这会使表和索引碎片化并影响性能,那么我更愿意在可能的情况下进行更新并仅在必要时删除/插入。

这将是一项夜间服务,我不希望提高流程本身的速度。我更关心对这个表的查询性能,我已经有 8900 万条记录,以及这个每晚的过程将如何影响它。

对于这个夜间流程,我应该删除/插入记录还是应该更新现有记录(在可能的情况下)?

performance sql-server-2005 sql-server application-design fragmentation

30
推荐指数
4
解决办法
6万
查看次数

如何在不耗尽内存的情况下运行包含许多插入内容的大型脚本?

题:

我有一个脚本,其中包含来自 select 语句的大约 45,000 个插入。当我尝试运行它时,我收到一条错误消息,指出我的内存不足。我怎样才能运行这个脚本?

语境:

  1. 添加了一些新的数据字段,使应用程序与客户端使用的另一个应用程序配合得很好。
  2. 从客户端获得了一份数据电子表格,其中包含将当前数据项映射到这些新字段的值的数据。
  3. 将电子表格转换为插入语句。
  4. 如果我只运行一些语句,它会起作用,但整个脚本不会。
  5. 没有。没有错别字。

如果有不同的方式我应该加载这些数据,请随时批评我并让我知道。

sql-server-2005 sql-server etl

29
推荐指数
3
解决办法
9万
查看次数

如何获取数据库中所有分区表的列表?

如何获取数据库中所有分区表的列表?

我应该查看哪些系统表/DMV?

sql-server-2008 sql-server metadata partitioning

27
推荐指数
2
解决办法
12万
查看次数

子查询的别名与主查询的别名相同

我有一个 SQL 查询,其别名与其子查询的某些别名相同。

例如:

select *
from ROOM r
where ...
         (
              select *
              from ROAD r
              where ...
         )
Run Code Online (Sandbox Code Playgroud)

这很好用,因为子查询的别名似乎隐藏了主要的。

  1. 它会在所有情况下都这样工作吗?
  2. 我会得到未定义的结果吗?
  3. 如果可以这样做,我如何引用主查询的r

sql-server t-sql subquery alias

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