<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>杰趣网志 &#187; MSSQL</title>
	<atom:link href="http://www.jackq.com/tag/mssql/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jackq.com</link>
	<description>IT info. Experience Sharing.</description>
	<lastBuildDate>Thu, 09 Sep 2010 08:12:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>TRUNCATE TABLE 与 DELECT 比较【摘于MSSQL 2005 MSDN】</title>
		<link>http://www.jackq.com/truncate-table-and-delect-compare-mssql-2005-msdn/</link>
		<comments>http://www.jackq.com/truncate-table-and-delect-compare-mssql-2005-msdn/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 14:35:18 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
				<category><![CDATA[技术应用]]></category>
		<category><![CDATA[MSSQL]]></category>

		<guid isPermaLink="false">http://www.jackq.com/?p=91</guid>
		<description><![CDATA[若要删除表中的所有行，则 TRUNCATE TABLE 语句是一种快速、无日志记录的方法。TRUNCATE TABLE 与不含有 WHERE 子句的 DELETE 语句在功能上相同。但是，TRUNCATE TABLE 速度更快，并且使用更少的系统资源和事务日志资源。 与 DELETE 语句相比，TRUNCATE TABLE 具有以下优点： 所用的事务日志空间较少。 DELETE 语句每次删除一行，并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放用于存储表数据的数据页来删除数据，并且在事务日志中只记录页释放。 [减少对日志的IO操作[对于采取简单策略的数据库更为有利]] 使用的锁通常较少。 当使用行锁执行 DELETE 语句时，将锁定表中各行以便删除。TRUNCATE TABLE 始终锁定表和页，而不是锁定各行。 [大粒度锁比小粒度锁消耗资源更少，效率更高] 如无例外，在表中不会留有任何页。 执行 DELETE 语句后，表仍会包含空页。例如，必须至少使用一个排他 (LCK_M_X) 表锁，才能释放堆中的空表。如果执行删除操作时没有使用表锁，表（堆）中将包含许多空页。对于索引，删除操作会留下一些空页【参见MODEL系统数据库以及创建新数据库相关联的部分资料】，尽管这些页会通过后台清除进程迅速释放。 与 DELETE 语句相同，使用 TRUNCATE TABLE 清空的表的定义与其索推渌亓韵笠黄鸨Ａ粼谑菘庵小? 截断大型表 Microsoft SQL Server 2005 引入一种功能，此功能可删除或截断超过 128 个扩展分区，而无需同时保留需要删除的所有扩展分区的锁的表。有关详细信息，请参阅删除并重新生成大型对象。 根据条件DELETE大容量表中的行： 注意： 这种方法跟在企业管理中直接删除数据导致的恶果相似，但稍微轻一点&#8230; 将丢失这张表、行、单元格所有的版本信息 操作： 1. 建立相同结构的结构的空表； 2. INSERT INTO TableNameCopy SELECT Column1, Column2,&#8230; &#8230; , ColumnN FROM TableName WHERE !删除条件 3. TRUNCATE TABLE TableName 4. DROP TABLE TableName 5. EXEC sp_rename &#8217;TableNameCop&#8217;, &#8217;TableName&#8217; sp_rename 慎用！切记！ SQL Server 2005 联机丛书 sp_rename (Transact-SQL) 注意：更改对象名的任一部分都可能破坏脚本和存储过程。我们建议您不要使用此语句来重命名存储过程、触发器、用户定义函数或视图；而是删除该对象，然后使用新名称重新创建该对 随机日志X86 Mac OS X Snow Leopard苹果驱动安装命令 (0)HTTP常见返回代码（HTTP Status codes）的分类和含义 (0)三种通过优化图片下载来提高网站加载速度的方法 (3)微软Sysinternals Suite实用工具下载 (0)收集到的一些“特别的搜索引擎”工具 (0)德国终极刻录工具Nero Multimedia Suite 10免费下载(含Key) (3)]]></description>
			<content:encoded><![CDATA[<p>若要删除表中的所有行，则 TRUNCATE TABLE 语句是一种快速、无日志记录的方法。TRUNCATE TABLE 与不含有 WHERE 子句的 DELETE 语句在功能上相同。但是，TRUNCATE TABLE 速度更快，并且使用更少的系统资源和事务日志资源。<br />
与 DELETE 语句相比，TRUNCATE TABLE 具有以下优点：<br />
所用的事务日志空间较少。</p>
<p>DELETE 语句每次删除一行，并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放用于存储表数据的数据页来删除数据，并且在事务日志中只记录页释放。<br />
[减少对日志的IO操作[对于采取简单策略的数据库更为有利]]</p>
<p>使用的锁通常较少。</p>
<p>当使用行锁执行 DELETE 语句时，将锁定表中各行以便删除。TRUNCATE TABLE 始终锁定表和页，而不是锁定各行。<br />
[大粒度锁比小粒度锁消耗资源更少，效率更高]</p>
<p>如无例外，在表中不会留有任何页。</p>
<p>执行 DELETE 语句后，表仍会包含空页。例如，必须至少使用一个排他 (LCK_M_X) 表锁，才能释放堆中的空表。如果执行删除操作时没有使用表锁，表（堆）中将包含许多空页。对于索引，删除操作会留下一些空页【参见MODEL系统数据库以及创建新数据库相关联的部分资料】，尽管这些页会通过后台清除进程迅速释放。</p>
<p>与 DELETE 语句相同，使用 TRUNCATE TABLE 清空的表的定义与其索推渌亓韵笠黄鸨Ａ粼谑菘庵小?<br />
截断大型表<br />
Microsoft SQL Server 2005 引入一种功能，此功能可删除或截断超过 128 个扩展分区，而无需同时保留需要删除的所有扩展分区的锁的表。有关详细信息，请参阅删除并重新生成大型对象。</p>
<p>根据条件DELETE大容量表中的行：<br />
注意：<br />
这种方法跟在企业管理中直接删除数据导致的恶果相似，但稍微轻一点&#8230;<br />
将丢失这张表、行、单元格所有的版本信息<br />
操作：<br />
1. 建立相同结构的结构的空表；<br />
2. INSERT INTO TableNameCopy SELECT Column1, Column2,&#8230; &#8230; , ColumnN FROM TableName WHERE !删除条件<br />
3. TRUNCATE TABLE TableName<br />
4. DROP TABLE TableName<br />
5. EXEC sp_rename &#8217;TableNameCop&#8217;, &#8217;TableName&#8217;</p>
<p>sp_rename 慎用！切记！<br />
SQL Server 2005 联机丛书</p>
<p>sp_rename (Transact-SQL)<br />
注意：更改对象名的任一部分都可能破坏脚本和存储过程。我们建议您不要使用此语句来重命名存储过程、触发器、用户定义函数或视图；而是删除该对象，然后使用新名称重新创建该对</p>
<div  class="related_post_title">随机日志</div><ul class="related_post"><li><a href="http://www.jackq.com/what-is-the-internet-of-things/" title="物联网简单介绍">物联网简单介绍</a> (0)</li><li><a href="http://www.jackq.com/most-easy-drive-wireless-card-under-the-apple-snow-leopard/" title="苹果雪豹下最容易驱动的无线网卡">苹果雪豹下最容易驱动的无线网卡</a> (1)</li><li><a href="http://www.jackq.com/chapter-3-of-the-most-popular-linux-release-distributions-introduction/" title="Linux 最流行的发行版简介（第三辑）">Linux 最流行的发行版简介（第三辑）</a> (0)</li><li><a href="http://www.jackq.com/web-version-of-microsoft-office-2010-web-office-live-com-formally-launched/" title="微软Web版Office 2010网站Office.live.com正式上线">微软Web版Office 2010网站Office.live.com正式上线</a> (1)</li><li><a href="http://www.jackq.com/vmware-workstation-7-1-and-keygen-download/" title="VMware Workstation 7.1 官方免费地址（带注册机keygen）">VMware Workstation 7.1 官方免费地址（带注册机keygen）</a> (0)</li><li><a href="http://www.jackq.com/google-out-of-china-the-latest-progress-of-the-event/" title="Google退出事件最新进展  Google CEO 就谷歌可能退出中国一事解释">Google退出事件最新进展  Google CEO 就谷歌可能退出中国一事解释</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.jackq.com/truncate-table-and-delect-compare-mssql-2005-msdn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
