|
|
1
2
我使用过SQL Server2000/2005、DB2、ADABAS,以上都是适用的。我真的看不出Oracle的工作方式有什么不同。
在单个表扫描中发出frequest提交比运行具有较小处理数的多个扫描更可取,因为通常如果需要表扫描,即使只返回一小部分,也会扫描整个表。 远离快照。快照只会增加IO的数量,并争夺IO和CPU |
|
|
2
1
一般来说,我发现批量更新更好——通常在100到1000之间。这一切都取决于你的表的结构:外键?触发器?或者只是更新原始数据?你需要进行实验,看看哪种情况最适合你。 如果我使用纯SQL,我会做这样的事情来帮助管理服务器资源:
在这个例子中,我正在清除数据。只有当您可以限制或以其他方式选择性地更新行时,这才适用于UPDATE。(或者只将xxxx行数插入到可以对其进行JOIN的辅助表中。) 但是,是的,尽量不要一次更新xx百万行。这需要很长时间,如果发生错误,所有这些行将被回滚(这需要额外的很长时间) |
|
|
3
0
假如 或 你有桌锁 (tablockx)与所有涉及的表相比,批次的表现可能会更差。特别是当批处理强制进行表扫描时。 一个需要注意的是,非常复杂的查询通常会消耗tempdb上的资源,如果tempdb空间不足(因为执行计划需要一个非常复杂的哈希连接),你就有大麻烦了。
|
|
|
4
0
当您迁移到SQL Server 2005或2008时,您将需要重做SSIS中的所有DTS包。我想你会惊喜地发现SSIS可以快得多。
|
|
|
Johnny T · 基于当前值的SQL合并表[重复] 1 年前 |
|
John D · 需要为NULL或NOT NULL的WHERE子句 1 年前 |
|
ojek · 如何对SQL结果进行分组和编号? 1 年前 |
|
|
senek · 如何在PL/SQL中将选择结果(列)放入数组中 1 年前 |
|
|
Sax · 规范化Google表格(第一步) 1 年前 |
|
|
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 1 年前 |
|
|
Andrus · 如何在sql中查找第二个匹配项 1 年前 |