{"id":700,"date":"2004-08-27T03:26:53","date_gmt":"2004-08-27T03:26:53","guid":{"rendered":"\/blogs\/kimberly\/post\/MSDN-Webcast-QA-Index-Defrag-Best-Practices-Fragmentation-Deletes-and-the-e2809cSliding-Windowe2809d-Scenario-and-its-the-LAST-one!.aspx"},"modified":"2017-02-20T14:16:44","modified_gmt":"2017-02-20T22:16:44","slug":"msdn-webcast-qa-index-defrag-best-practices-fragmentation-deletes-and-the-sliding-window-scenario-and-its-the-last-one","status":"publish","type":"post","link":"https:\/\/www.sqlskills.com\/blogs\/kimberly\/msdn-webcast-qa-index-defrag-best-practices-fragmentation-deletes-and-the-sliding-window-scenario-and-its-the-last-one\/","title":{"rendered":"MSDN Webcast Q&#038;A: Index Defrag Best Practices &#8211; Fragmentation, Deletes and the \u201cSliding Window\u201d Scenario and it&#8217;s the LAST one!"},"content":{"rendered":"<p><P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial color=#000000 size=3>People always ask me how I keep up to date with SQL Server and how I could possibly know so many intricate details about SQL Server&#8230; Well, I test\/play\/figure it out until it&#8217;s obvious (painfully sometimes and sometimes it&#8217;s not obvious). So, this blog entry is based on a specific question that made me want to see if I could come up with a test and positive proof in patterns and performance &#8211; when working with large tables and range deletes. I generally recommend a clustered index be created on a unique, narrow and static column &#8211; and best if it&#8217;s an identity column &#8211; yet there is an exception to this when the table has VERY specific administrative\/operational\/archival patterns a.k.a. the &#8220;sliding window&#8221; scenario. The question starts by asking about my point that &#8220;deletes aren&#8217;t as big of a deal&#8221; in fragmentation. While my point was solely referring to the internal v. external fragmentation issue that led us to take some more time evaluating delete performance. In talking about delete performance, we arrive at some best practices in index creation as well as horizontal partitioning! (<I style=\"mso-bidi-font-style: normal\">fyi &#8211; the scripts used to create\/build this scenario are fairly cool in and of themselves &#8211; not a bad idea to spend some time reviewing that!<\/I>)<\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><SPAN style=\"mso-spacerun: yes\"><FONT face=Arial color=#000000 size=3><\/FONT><\/SPAN>&nbsp;<\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><B style=\"mso-bidi-font-weight: normal\"><FONT face=Arial><FONT color=#000000><FONT size=3>Q: You mention that deletes are not as &#8220;big of a deal&#8221; since they leave gaps. I had a situation where I had a table with around 50 million rows, about a million rows per day. After about a month and a half, I delete some old ones. I can delete a day&#8217;s worth of data (1 million rows) in about 2 minutes with a delete statement, if there are no indexes. If I have a clustered index based on the date, it took about 22 minutes. Inserts were instantaneous, about two pages worth of rows every second, and even updates were quicker. Is there anything obvious that would cause this?<?xml:namespace prefix = o ns = \"urn:schemas-microsoft-com:office:office\" \/><o:p><\/o:p><\/FONT><\/FONT><\/FONT><\/B><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial color=#000000 size=3>OK, so I need to clarify first. My comment that deletes aren&#8217;t as &#8220;big of an issue&#8221; is specifically regarding fragmentation (not really performance of the actual delete)&#8230; A delete (when it&#8217;s a range delete &#8211; as opposed to a lot of singleton deletes) typically de-allocates the entire page freeing it back to the table (remember, it&#8217;s still &#8220;reserved&#8221; by this table) or if the entire extent is freed then it goes back to the DB. However, remember, this is only when the range is contiguous or grouped, per se. So, looking solely at the result and impact to the base table &#8211; we would say that range deletes aren&#8217;t that big of a deal because they free entire pages and even entire extents &#8211; effectively, the table doesn&#8217;t have gaps. OK, so having said that, you make a good point: what about performance? <\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT color=#000000><FONT size=3><FONT face=Arial>First, I&#8217;m somewhat intrigued by the fact that you say a delete was faster with no indexes rather than with a clustered especially if the clustered was date BUT I have a feeling that there might have been nonclustered indexes as well? (<I style=\"mso-bidi-font-style: normal\">In the upcoming test matrix, you may see some patterns in timing that corroborate this idea<\/I>). <SPAN style=\"mso-spacerun: yes\">&nbsp;<\/SPAN>Without knowing whether you had non-clustered indexes or not, let me at least speculate and test (<I style=\"mso-bidi-font-style: normal\">and hopefully prove<\/I>) a few points? First, I would ask what the exact definition of the CL index was &#8211; was it just date? Remember, I really feel as though there are three types of tables &#8211; tables with the <I style=\"mso-bidi-font-style: normal\">wrong<\/I> clustered index, tables with NO clustered index (i.e. HEAP) and tables with the <I style=\"mso-bidi-font-style: normal\">right<\/I> clustered index. However, the &#8220;right&#8221; clustered index CAN vary based on pattern usage of the table. In a table that has range deletes based on dates &#8211; as well as an identity column &#8211; I often create a clustered index on the composite combination of these two columns. If the CL Key is on the date itself then this should not be that much slower (that the heap &#8211; in fact, I would have expected it to be faster even though there will be <I style=\"mso-bidi-font-style: normal\">some<\/I> overhead in maintaining the index). I really think there&#8217;s something else there &#8211; probably nonclustered indexes, maybe a blocking scenario? So, to help &#8211; I think I can prove a few points (in terms of perf) with a script\/test to see if I can give you some rough numbers (<I style=\"mso-bidi-font-style: normal\">I&#8217;m really, really intrigued to see if I can&#8217;t prove my point<\/I> <I style=\"mso-bidi-font-style: normal\">as well <\/I><\/FONT><SPAN style=\"FONT-FAMILY: Wingdings; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-char-type: symbol; mso-symbol-font-family: Wingdings\"><SPAN style=\"mso-char-type: symbol; mso-symbol-font-family: Wingdings\">J<\/SPAN><\/SPAN><FONT face=Arial>). So, I decided to try an interesting combination &#8211; and really test the numbers. My test (<I style=\"mso-bidi-font-style: normal\">albeit not entirely scientific<\/I>) should show a pattern! First, I&#8217;m going to take the 1.6 million row charge table (in my &#8220;pumped up version of the credit database) and I&#8217;m going to copy it 10 times into slightly different table structures. Details and the creation for each table follow:<\/FONT><\/FONT><\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial><FONT color=#000000><FONT size=3><B style=\"mso-bidi-font-weight: normal\">ChargeHeap<\/B> &#8211; A table with NO Clustered index and NO non-clustered indexes. <\/FONT><\/FONT><\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>SELECT * <o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>INTO ChargeHeap<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>FROM Credit.dbo.Charge<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><o:p><FONT color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial><FONT color=#000000><FONT size=3><B style=\"mso-bidi-font-weight: normal\">ChargeCLPKForDelete<\/B> &#8211; Is really NOT that bad of a choice&#8230; I typically recommend this choice for everyday tables where there are lots of inserts\/updates\/deletes. However, with the specific &#8220;sliding window&#8221; scenario (where data comes in at the end AND is periodically archived off the other end) then I might make a different choice. But &#8211; still a good table to create and compare against. This will certainly improve inserts and minimize fragmentation BUT it might not be ideal for range deletes and archiving. This table has a clustered index on the Primary Key; this column is an ever-increasing identity value on charge_no. <\/FONT><\/FONT><\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>SELECT * <o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>INTO ChargeCLPKForDelete<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>FROM Credit.dbo.Charge<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><o:p><FONT color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>ALTER TABLE ChargeTesting.dbo.ChargeCLPKForDelete<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>ADD CONSTRAINT ChargeCLPKForDeletePK<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3><SPAN style=\"mso-tab-count: 1\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>PRIMARY KEY CLUSTERED (Charge_NO)<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial><FONT size=3><FONT color=#000000>Again, because this table will follow a &#8220;sliding window&#8221; scenario then I would change the clustering key to include the date and then the ID. I don&#8217;t typically chose date (as a single column primary key) because dates alone are rarely, if ever, unique (<\/FONT><I style=\"mso-bidi-font-style: normal\"><FONT color=#000000>for more details on datetime data check out the articles I&#8217;ve written on Datetime data for SQL Magazine <\/FONT><A href=\"https:\/\/www.sqlskills.com\/articles.asp\">here<\/A><\/I><FONT color=#000000>). Because you already have an identity column in the table (which uniquely identfies every row), there&#8217;s no need to add a &#8220;uniqifier.&#8221; <SPAN style=\"mso-spacerun: yes\">&nbsp;<\/SPAN>The process of &#8220;uniqification&#8221; happens internally if the clustereing key is defined on a non-unique column<I style=\"mso-bidi-font-style: normal\"> <\/I>(<\/FONT><I style=\"mso-bidi-font-style: normal\"><FONT color=#000000>see last month&#8217;s <\/FONT><a href=\"https:\/\/msevents.microsoft.com\/cui\/Error.aspx?culture=en-US&amp;ErrorMsgID=ErrorMessage.EventDoesNotExist&amp;EventID=\">webcast<\/a><FONT color=#000000> if you&#8217;re not familiar with this &#8220;uniqification&#8221; process<\/FONT><\/I><FONT color=#000000>). In the case where you already have a row identifier, it&#8217;s best to use it in the clustering key with date &#8211; especially as it has useful data in it. So &#8211; this leads us to the next TWO tables&#8230;<\/FONT><\/FONT><\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial><FONT color=#000000><FONT size=3><B style=\"mso-bidi-font-weight: normal\">ChargeCLDateForDelete<\/B> &#8211; Is a clustered index on the date ALONE.<\/FONT><\/FONT><\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>SELECT * <o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>INTO ChargeCLDateForDelete<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>FROM Credit.dbo.Charge<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><o:p><FONT color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>CREATE CLUSTERED INDEX ChargeCLDateForDelete<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>ON ChargeTesting.dbo.ChargeCLDateForDelete (Charge_DT)<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial><FONT color=#000000><FONT size=3><B style=\"mso-bidi-font-weight: normal\">ChargeCLDateForDeleteWithCompPK<\/B> &#8211; Is a composite clustered primary key index on the date, charge_no together. <\/FONT><\/FONT><\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>SELECT * <o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>INTO ChargeCLDateForDeleteWithCompPK<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>FROM Credit.dbo.Charge<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><o:p><FONT color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>ALTER TABLE ChargeTesting.dbo.ChargeCLDateForDeleteWithCompPK<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>ADD CONSTRAINT ChargeCLDateForDeleteWithCompPK_PK<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3><SPAN style=\"mso-tab-count: 1\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>PRIMARY KEY CLUSTERED (Charge_DT, Charge_NO)<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><SPAN style=\"mso-spacerun: yes\"><FONT color=#000000 size=3><\/FONT><\/SPAN>&nbsp;<\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial color=#000000 size=3>The last base table will have a poor choice for the clustering key (for these deletes) as they will not have &#8220;ranges&#8221; with which to work. <\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial><FONT color=#000000><FONT size=3><B style=\"mso-bidi-font-weight: normal\">ChargeCLReallyBadForDelete <\/B>&#8211; This clustered index will be on something NOT used at all in this delete. The deletes will result in lots of internal fragmentation. In other words, the table will be larger and &#8220;internally&#8221; fragmented. The table will essentially look like &#8220;swiss cheese&#8221; meaning that the table will have lot of little gaps within the pages themselves. <\/FONT><\/FONT><\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><B style=\"mso-bidi-font-weight: normal\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/B><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>SELECT * <o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>INTO ChargeCLReallyBadForDelete<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>FROM Credit.dbo.Charge<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><o:p><FONT color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>CREATE CLUSTERED INDEX ChargeCLReallyBadForDelete<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>ON ChargeTesting.dbo.ChargeCLReallyBadForDelete (Charge_amt)<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><B style=\"mso-bidi-font-weight: normal\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/B><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial color=#000000 size=3>And what about nonclustered indexes? Finally, we will add five final tables &#8211; each of the above &#8211; with two non-clustered indexes added to see what their impact has on overall performance. <\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial><FONT color=#000000><FONT size=3><B style=\"mso-bidi-font-weight: normal\">ChargeHeapWNCIndexes<\/B> &#8211; Is a heap table with two non-clustered indexes.<\/FONT><\/FONT><\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>SELECT * <o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>INTO ChargeHeapWNCIndexes<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>FROM Credit.dbo.Charge<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><o:p><FONT color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>CREATE NONCLUSTERED INDEX ChargeHeapWNCIndexesNC2<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>ON ChargeHeapWNCIndexes (Statement_NO)<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><o:p><FONT color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>CREATE NONCLUSTERED INDEX ChargeHeapWNCIndexesNC3<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>ON ChargeHeapWNCIndexes (Member_no)<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial><FONT color=#000000><FONT size=3><B style=\"mso-bidi-font-weight: normal\">ChargeCLPKForDeleteWNCIndexes<\/B> &#8211; Is clustered on the Primary Key and has two additional non-clustered indexes. <\/FONT><\/FONT><\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>SELECT * <o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>INTO ChargeCLBadForDeleteWNCIndexes<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>FROM Credit.dbo.Charge<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><o:p><FONT color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>ALTER TABLE ChargeTesting.dbo.ChargeCLBadForDeleteWNCIndexes<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>ADD CONSTRAINT ChargeCLBadForDeleteWNCIndexesPK<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3><SPAN style=\"mso-tab-count: 1\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>PRIMARY KEY CLUSTERED (Charge_NO)<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><o:p><FONT color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>CREATE NONCLUSTERED INDEX ChargeCLBadForDeleteWNCIndexesNC2<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>ON ChargeCLBadForDeleteWNCIndexes (Statement_NO)<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><o:p><FONT color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>CREATE NONCLUSTERED INDEX ChargeCLBadForDeleteWNCIndexesNC3<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>ON ChargeCLBadForDeleteWNCIndexes (Member_no)<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><B style=\"mso-bidi-font-weight: normal\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/B><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial><FONT color=#000000><FONT size=3><B style=\"mso-bidi-font-weight: normal\">ChargeCLDateForDeleteWNCIndexes<\/B> &#8211; Is clustered on the Date alone and has two additional non-clustered indexes. <\/FONT><\/FONT><\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>SELECT * <o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>INTO ChargeCLDateForDeleteWNCIndexes<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>FROM Credit.dbo.Charge<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><o:p><FONT color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>CREATE CLUSTERED INDEX ChargeCLDateForDeleteWNCIndexes<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>ON ChargeTesting.dbo.ChargeCLDateForDeleteWNCIndexes (Charge_DT)<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><o:p><FONT color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>CREATE NONCLUSTERED INDEX ChargeCLDateForDeleteWNCIndexesNC2<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>ON ChargeCLDateForDeleteWNCIndexes (Statement_NO)<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><o:p><FONT color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>CREATE NONCLUSTERED INDEX ChargeCLDateForDeleteWNCIndexesNC3<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>ON ChargeCLDateForDeleteWNCIndexes (Member_no)<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<B style=\"mso-bidi-font-weight: normal\"><o:p><\/o:p><\/B><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><B style=\"mso-bidi-font-weight: normal\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/B><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial><FONT color=#000000><FONT size=3><B style=\"mso-bidi-font-weight: normal\">ChargeCLDateForDeleteWithCompPKWNCIndexes<\/B> &#8211; Is the composite primary key on the date and identity. This table also has the same two non-clustered indexes.<\/FONT><\/FONT><\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>SELECT * <o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>INTO ChargeCLDateForDeleteWithCompPKWNCIndexes<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>FROM Credit.dbo.Charge<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><o:p><FONT color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>ALTER TABLE ChargeTesting.dbo.ChargeCLDateForDeleteWithCompPKWNCIndexes<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>ADD CONSTRAINT ChargeCLDateForDeleteWithCompPKWNCIndexes_PK<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3><SPAN style=\"mso-tab-count: 1\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>PRIMARY KEY CLUSTERED (Charge_DT, Charge_NO)<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><o:p><FONT color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>CREATE NONCLUSTERED INDEX ChargeCLDateForDeleteWithCompPKWNCIndexesNC2<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>ON ChargeCLDateForDeleteWithCompPKWNCIndexes (Statement_NO)<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><o:p><FONT color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>CREATE NONCLUSTERED INDEX ChargeCLDateForDeleteWithCompPKWNCIndexesNC3<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>ON ChargeCLDateForDeleteWithCompPKWNCIndexes (Member_no)<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial><FONT color=#000000><FONT size=3><B style=\"mso-bidi-font-weight: normal\">ChargeCLReallyBadForDeleteWNCIndexes<\/B> &#8211; Is the poor choice (for this delete) of a clustered index on charge_amt. Again, this table will end up with a lot of internal fragmentation after these deletes (not to mention that inserts will probably cause a lot of fragmentation as well). Over time, this table would probably be one of the worst performers &#8211; for almost all DML.<\/FONT><\/FONT><\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><o:p><FONT color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>SELECT * <o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>INTO dbo.ChargeCLReallyBadForDeleteWNCIndexes<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>FROM Credit.dbo.Charge<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><o:p><FONT color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>CREATE CLUSTERED INDEX ChargeCLReallyBadForDeleteWNCIndexesCL<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>ON ChargeTesting.dbo.ChargeCLReallyBadForDeleteWNCIndexes (Charge_amt)<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><o:p><FONT color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>CREATE NONCLUSTERED INDEX ChargeCLReallyBadForDeleteWNCIndexesNC2<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>ON dbo.ChargeCLReallyBadForDeleteWNCIndexes (Statement_NO)<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><o:p><FONT color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>CREATE NONCLUSTERED INDEX ChargeCLReallyBadForDeleteWNCIndexesNC3<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>ON dbo.ChargeCLReallyBadForDeleteWNCIndexes (Member_no)<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial color=#000000 size=3>Well, now that you know the players we can setup the test. The idea of the test is to take a large chunk of early data &#8220;off&#8221; the table. Presumably to archive but I will not address the whole archiving process at this time. Once archived the data must be removed (for many &#8211; just removed &#8211; as they can always rely on backups if they need the earlier data&#8230; just make sure you <B style=\"mso-bidi-font-weight: normal\">keep<\/B> those backups!)<\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial color=#000000 size=3>In the tests we will delete a varying percentage of the table based on a specific date for the charge rows. I have modified and increased the size of credit in many ways before getting to these scripts so it might be hard to reproduce this BUT there are some great samples to use from these.<\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial color=#000000 size=3>First, I increased the number of rows in credit.dbo.charge by just &#8220;doubling&#8221; the rows:<\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>INSERT charge<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>SELECT c.[member_no] , <o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3><SPAN style=\"mso-spacerun: yes\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>c.[provider_no] , <o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3><SPAN style=\"mso-spacerun: yes\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>c.[category_no] , <o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3><SPAN style=\"mso-spacerun: yes\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>c.[charge_dt] , <o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3><SPAN style=\"mso-spacerun: yes\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>c.[charge_amt] , <o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3><SPAN style=\"mso-spacerun: yes\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>c.[statement_no] , <o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3><SPAN style=\"mso-spacerun: yes\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>c.[charge_code] <o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>FROM charge AS c<SPAN style=\"mso-spacerun: yes\">&nbsp;&nbsp;&nbsp; <\/SPAN>&#8212; to go to 200K rows<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>INSERT charge<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>SELECT c.[member_no] , <o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3><SPAN style=\"mso-spacerun: yes\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>c.[provider_no] , <o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3><SPAN style=\"mso-spacerun: yes\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>c.[category_no] , <o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3><SPAN style=\"mso-spacerun: yes\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>c.[charge_dt] , <o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3><SPAN style=\"mso-spacerun: yes\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>c.[charge_amt] , <o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3><SPAN style=\"mso-spacerun: yes\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>c.[statement_no] , <o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3><SPAN style=\"mso-spacerun: yes\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>c.[charge_code] <o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>FROM charge AS c<SPAN style=\"mso-spacerun: yes\">&nbsp;&nbsp;&nbsp; <\/SPAN>&#8212; to go to 400K rows<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial color=#000000 size=3>However, once I get the rows there I&#8217;ve realized that I have a bunch of data that doesn&#8217;t really follow an increasing ID and increasing date &#8211;which isn&#8217;t realistic at all&#8230; And, of course, I realized this on a version of my database which already had the rows increased and which I always use for all sorts of samples\/examples SO &#8211; I&#8217;d rather fix the current data rather than re-write the INSERT\/SELECTs. But (and as it would always happen, I found other problems &#8211; like that I had a gap in the identity values). Anyway, I decided that the best way to get dates to be ever increasing along with the identity is to FIRST cleanup the identity. I&#8217;m going to do that first by dropping and re-adding the identity col. Re-creating the identity column to reseed it and then updating the charge_dt column based on a starting time and then adding the charge_no to it. OK, so that&#8217;s not what I did BUT that would work to give you a relatively increasing value &#8211; there would be duplicates though as SQL Server rounds ms values to the nearest timetick. AND &#8211; I&#8217;m not going to get into this here at all but I did write a series of articles on datetime data for SQL Server Magazine, see <\/FONT><A href=\"https:\/\/www.sqlskills.com\/articles.asp\"><FONT face=Arial size=3>here<\/FONT><\/A><FONT face=Arial color=#000000 size=3>.<\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial color=#000000 size=3>OK, so crank up your data, have ever-increasing identities to correspond to ever-increasing data and then create duplicate test tables based on the settings and patterns above. You can then create the testing patterns. The tests are going to be based on deleting a percentage of your data (you will need to determine your date ranges and estimate the correct date which is 5-10% of your table). 5-10 percent is a reasonable percentage to delete based on an &#8220;archiving&#8221; principle\/idea (in fact, this might be large in many situations). Since the date values are the same for all tables this will make testing easier. Also, there a few simple testing practices here &#8211; use a separate database in which you track test run numbers, do multiple test runs and take averages (<I style=\"mso-bidi-font-style: normal\">consider removing the highest and lowest values to get rid of any strange anomalies as well<\/I>). SO, here&#8217;s the (<a href=\"https:\/\/www.sqlskills.com\/blogs\/kimberly\/content\/binary\/testingdeleteperformance%20setupscript1%20chargetestingresults.sql\"><FONT face=Verdana size=2>TestingDeletePerformance SetupScript1 ChargeTestingResults.sql (2.49 KB)<\/FONT><\/a>) that I used to track\/store the test results. Note: you may need to change directory\/path\/instance names. Once the results database (ChargeTestingResults) has been created then you can create your testing database (based on your modified version of Credit.dbo.charge). The setup script to create this database (ChargeTesting), the testing procedure (DeleteTestRun) and perform a backup (to restore for reproducible test runs) is here (<a href=\"https:\/\/www.sqlskills.com\/blogs\/kimberly\/content\/binary\/testingdeleteperformance%20setupscript2%20chargetesting.sql\"><FONT face=Verdana size=2>TestingDeletePerformance SetupScript2 ChargeTesting.sql (9.41 KB)<\/FONT><\/a>).<\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial color=#000000 size=3>Now, on to the testing&#8230;. You should run a series of test runs of slightly varying numbers of rows being deleted and then analyze your findings. I have a feeling that we&#8217;ll all get slightly different results on the extreme ends of a few tests BUT if you average the timings over multiple test runs I think you&#8217;ll find the same thing I&#8217;ve found!<\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial color=#000000 size=3>So, you&#8217;ll need to set your @DateToDeleteTo and make sure your path is correct. based on your dates) but here&#8217;s the general idea&#8230; so that you input the timings into your ChargeTestingResults database:<\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>DECLARE @DateToDeleteTo<SPAN style=\"mso-tab-count: 2\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>datetime,<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3><SPAN style=\"mso-tab-count: 2\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>@NumberOfTestRuns<SPAN style=\"mso-tab-count: 1\">&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>tinyint,<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3><SPAN style=\"mso-tab-count: 2\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>@CurrentTestRun<SPAN style=\"mso-tab-count: 2\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>tinyint<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><o:p><FONT color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>SET @NumberOfTestRuns = 1<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>SET @DateToDeleteTo = &#8216;<U>yyyymmdd<\/U>&#8216;<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><o:p><FONT color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>SET @CurrentTestRun = 0<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><o:p><FONT color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>WHILE @CurrentTestRun &lt; @NumberOfTestRuns<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>BEGIN<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3><SPAN style=\"mso-tab-count: 1\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>USE ChargeTesting<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3><SPAN style=\"mso-tab-count: 1\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>EXEC DeleteTestRun @DateToDeleteTo<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3><SPAN style=\"mso-tab-count: 1\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>USE Master <o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3><SPAN style=\"mso-tab-count: 1\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>RESTORE DATABASE ChargeTesting <o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3><SPAN style=\"mso-tab-count: 2\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>FROM DISK = &#8216;<U>fix path<\/U>&#8216;<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3><SPAN style=\"mso-tab-count: 1\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>SET @CurrentTestRun = @CurrentTestRun + 1<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>END<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT color=#000000><FONT size=3>go<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial color=#000000 size=3>OK, so now we&#8217;re ready to roll! I&#8217;ve run this 23 times (yes, thanks to my machine being idle for a few of my sleeping hours &#8211; it&#8217;s either a great time for <\/FONT><A href=\"http:\/\/setiathome.ssl.berkeley.edu\/\"><FONT face=Arial size=3>SETI<\/FONT><\/A><FONT face=Arial color=#000000 size=3> or automated tests&#8230;)<\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial color=#000000 size=3>I&#8217;ve run the following query:<\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT size=3><FONT color=#000000>SELECT TableName, AVG(DeleteTime) AS [Average Time]<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 1in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT size=3><FONT color=#000000>, MIN(DeleteTime) AS [Min Time]<BR>, MAX(DeleteTime) AS [Max Time]<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT size=3><FONT color=#000000>FROM ChargeTestingResults.dbo.DeleteTestResults<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT size=3><FONT color=#000000>WHERE TestRunID NOT IN<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT size=3><FONT color=#000000><SPAN style=\"mso-tab-count: 3\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>(SELECT TestRunID<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT size=3><FONT color=#000000><SPAN style=\"mso-tab-count: 3\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>FROM <?xml:namespace prefix = st1 ns = \"urn:schemas-microsoft-com:office:smarttags\" \/><st1:place w:st=\"on\"><st1:City w:st=\"on\">ChargeTestingResults.dbo.DeleteTestResults<\/st1:City> <st1:State w:st=\"on\">AS<\/st1:State><\/st1:place> DTR<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT size=3><FONT color=#000000><SPAN style=\"mso-tab-count: 3\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>WHERE DeleteTime = (SELECT min(DeleteTime)<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT size=3><FONT color=#000000><SPAN style=\"mso-tab-count: 8\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>FROM ChargeTestingResults.dbo.DeleteTestResults AS DTRC &#8212; correlated<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT size=3><FONT color=#000000><SPAN style=\"mso-tab-count: 8\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>WHERE DTR.TableName = DTRC.TableName GROUP BY TableName)<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT size=3><FONT color=#000000><SPAN style=\"mso-tab-count: 3\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>OR<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT size=3><FONT color=#000000><SPAN style=\"mso-tab-count: 4\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><SPAN style=\"mso-spacerun: yes\">&nbsp; <\/SPAN>DeleteTime = (SELECT max(DeleteTime)<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT size=3><FONT color=#000000><SPAN style=\"mso-tab-count: 8\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>FROM ChargeTestingResults.dbo.DeleteTestResults AS DTRC2 &#8212; correlated<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT size=3><FONT color=#000000><SPAN style=\"mso-tab-count: 8\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN>WHERE DTR.TableName = DTRC2.TableName GROUP BY TableName))<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT size=3><FONT color=#000000>GROUP BY TableName<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.5in\"><SPAN style=\"FONT-FAMILY: 'Lucida Sans Unicode'\"><FONT size=3><FONT color=#000000>ORDER BY [Average Time]<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial color=#000000 size=3>This query removes the highest and lowest values from the test runs and then averages the final results into this data:<\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P><br \/>\n<TABLE class=MsoNormalTable style=\"MARGIN: auto auto auto 4.65pt; WIDTH: 371pt; BORDER-COLLAPSE: collapse; mso-padding-alt: 0in 5.4pt 0in 5.4pt\" cellSpacing=0 cellPadding=0 width=495 border=0><br \/>\n<TBODY><br \/>\n<TR style=\"HEIGHT: 25.5pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes\"><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 241pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 25.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt\" width=321><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><B><SPAN style=\"FONT-SIZE: 11pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>TableName<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/B><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 46pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 25.5pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" width=61><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><B><SPAN style=\"FONT-SIZE: 11pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>Average Time<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/B><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 43pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 25.5pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" width=57><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><B><SPAN style=\"FONT-SIZE: 11pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>Min Time<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/B><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 41pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 25.5pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" width=55><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><B><SPAN style=\"FONT-SIZE: 11pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>Max Time<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/B><\/P><\/TD><\/TR><br \/>\n<TR style=\"HEIGHT: 12.75pt; mso-yfti-irow: 1\"><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 241pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=321><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>ChargeCLDateForDelete<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 46pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=61><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>1566<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 43pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=57><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>1143<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 41pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=55><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>2903<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><\/TR><br \/>\n<TR style=\"HEIGHT: 12.75pt; mso-yfti-irow: 2\"><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 241pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=321><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>ChargeCLDateForDeleteWithCompPK<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 46pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=61><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>2359<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 43pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=57><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>1253<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 41pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=55><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>8080<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><\/TR><br \/>\n<TR style=\"HEIGHT: 12.75pt; mso-yfti-irow: 3\"><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 241pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=321><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>ChargeHeap<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 46pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=61><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>10392<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 43pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=57><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>9603<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 41pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=55><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>11476<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><\/TR><br \/>\n<TR style=\"HEIGHT: 12.75pt; mso-yfti-irow: 4\"><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 241pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=321><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>ChargeCLPKForDelete<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 46pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=61><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>11377<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 43pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=57><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>9453<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 41pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=55><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>18476<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><\/TR><br \/>\n<TR style=\"HEIGHT: 12.75pt; mso-yfti-irow: 5\"><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 241pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=321><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>ChargeCLReallyBadForDelete<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 46pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=61><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>17491<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 43pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=57><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>12640<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 41pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=55><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>35440<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><\/TR><br \/>\n<TR style=\"HEIGHT: 12.75pt; mso-yfti-irow: 6\"><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 241pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=321><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>ChargeCLDateForDeleteWithCompPKWNCIndexes<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 46pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=61><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>19594<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 43pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=57><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>8020<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 41pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=55><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>29414<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><\/TR><br \/>\n<TR style=\"HEIGHT: 12.75pt; mso-yfti-irow: 7\"><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 241pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=321><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>ChargeCLDateForDeleteWNCIndexes<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 46pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=61><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>22467<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 43pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=57><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>9243<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 41pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=55><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>63520<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><\/TR><br \/>\n<TR style=\"HEIGHT: 12.75pt; mso-yfti-irow: 8\"><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 241pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=321><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>ChargeCLPKForDeleteWNCIndexes<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 46pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=61><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>30132<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 43pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=57><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>17343<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 41pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=55><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>59366<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><\/TR><br \/>\n<TR style=\"HEIGHT: 12.75pt; mso-yfti-irow: 9\"><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 241pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=321><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>ChargeCLReallyBadForDeleteWNCIndexes<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 46pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=61><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>44208<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 43pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=57><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>25946<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 41pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=55><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>62000<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><\/TR><br \/>\n<TR style=\"HEIGHT: 12.75pt; mso-yfti-irow: 10; mso-yfti-lastrow: yes\"><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 241pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=321><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>ChargeHeapWNCIndexes<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 46pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=61><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>49407<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 43pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=57><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>19716<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><br \/>\n<TD style=\"BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 41pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt\" vAlign=bottom noWrap width=55><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt; TEXT-ALIGN: center\" align=center><SPAN style=\"FONT-SIZE: 10pt; mso-bidi-font-family: Arial\"><FONT face=Arial><FONT color=#000000>78383<o:p><\/o:p><\/FONT><\/FONT><\/SPAN><\/P><\/TD><\/TR><\/TBODY><\/TABLE><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial color=#000000 size=3>Now, I&#8217;m sure you&#8217;ve completely forgotten what brought us to this result set but it all started when we were concerned about large scale range deletes&#8230; I really created this test set for multiple reasons:<\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .75in\"><FONT color=#000000><SPAN style=\"mso-fareast-font-family: Arial; mso-bidi-font-family: Arial\"><SPAN style=\"mso-list: Ignore\"><FONT face=Arial size=3>1)<\/FONT><SPAN style=\"FONT: 7pt 'Times New Roman'\">&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN><FONT face=Arial size=3>To give you ideas for tracking test runs (separate database, testing tables, dates\/times and interesting data)<\/FONT><\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .75in\"><FONT color=#000000><SPAN style=\"mso-fareast-font-family: Arial; mso-bidi-font-family: Arial\"><SPAN style=\"mso-list: Ignore\"><FONT face=Arial size=3>2)<\/FONT><SPAN style=\"FONT: 7pt 'Times New Roman'\">&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN><FONT face=Arial size=3>Show you a few practices for reproducible tests (i.e. backup after setup and then restore before each test run)<\/FONT><\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .75in\"><FONT color=#000000><SPAN style=\"mso-fareast-font-family: Arial; mso-bidi-font-family: Arial\"><SPAN style=\"mso-list: Ignore\"><FONT face=Arial size=3>3)<\/FONT><SPAN style=\"FONT: 7pt 'Times New Roman'\">&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN><FONT face=Arial size=3>Show a variety of examples of dynamic string execution<\/FONT><\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .75in\"><FONT color=#000000><SPAN style=\"mso-fareast-font-family: Arial; mso-bidi-font-family: Arial\"><SPAN style=\"mso-list: Ignore\"><FONT face=Arial size=3>4)<\/FONT><SPAN style=\"FONT: 7pt 'Times New Roman'\">&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN><FONT face=Arial size=3>Show you an interesting query which removes the best case and worst case test scenario and then averages the results (fyi &#8211; that query is easier to write in SQL Server 2005 with common table expressions!).<\/FONT><\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .75in\"><FONT color=#000000><SPAN style=\"mso-fareast-font-family: Arial; mso-bidi-font-family: Arial\"><SPAN style=\"mso-list: Ignore\"><FONT face=Arial size=3>5)<\/FONT><SPAN style=\"FONT: 7pt 'Times New Roman'\">&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN><FONT size=3><FONT face=Arial>Prove my original point&#8230; (of course) <\/FONT><SPAN style=\"FONT-FAMILY: Wingdings; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-char-type: symbol; mso-symbol-font-family: Wingdings\"><SPAN style=\"mso-char-type: symbol; mso-symbol-font-family: Wingdings\">J<\/SPAN><\/SPAN><\/FONT><\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .75in\"><FONT color=#000000><SPAN style=\"mso-fareast-font-family: Arial; mso-bidi-font-family: Arial\"><SPAN style=\"mso-list: Ignore\"><FONT face=Arial size=3>6)<\/FONT><SPAN style=\"FONT: 7pt 'Times New Roman'\">&nbsp;&nbsp;&nbsp;&nbsp; <\/SPAN><\/SPAN><\/SPAN><FONT face=Arial size=3>Lead you to wanting to learn more about the BEST point of all&#8230; consider partitioning. <\/FONT><\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial color=#000000 size=3>So, let&#8217;s talk about #5 for a second &#8211; the original point was that I *think* the reason the deletes were slower with the clustered index is that you also had non-clustered indexes. Hard to say now but that would be my guess. The MORE interesting point is that the Date alone in the CL key is faster than the composite clustering key. Now, I&#8217;m not about to start doing insert testing or space testing but having a clustering key which is NOT unique has other problems. Given the VERY small difference in times for these deletes (yes, it&#8217;s almost 50% here but the numbers are VERY small comparatively speaking regardless &#8211; ok, we can certainly debate this BUT are you really ONLY focusing on performance for deletes or do you need to look at the big picture? When you do I would guess that INSERTs will be more important overall). But &#8211; what you really get to when you look over all of this you see the ultimate problem &#8211; NON CLUSTERED INDEXES&#8230;. Yes, if you have non-clustered indexes they will kill your delete performance. So &#8211; the point here is going to be &#8211; how can you get GREAT archiving performance when deleting ranges AS WELL AS great performance for INSERTs AS WELL AS a more manageable environment&#8230;&#8230;&#8230; partitioning.<\/FONT><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><o:p><FONT face=Arial color=#000000 size=3>&nbsp;<\/FONT><\/o:p><\/P><br \/>\n<P class=MsoNormal style=\"MARGIN: 0in 0in 0pt\"><FONT face=Arial color=#000000 size=3>So &#8211; there was another reason for this whole entry&#8230; it&#8217;s partially to help try and convince a few of you (<I style=\"mso-bidi-font-style: normal\">especially those of you that have tables in double-digit or triple-digit millions of rows<\/I>) that large tables are harder to manage and large archival operations can be EXTREMELY costly!<\/FONT><\/P><\/p>\n","protected":false},"excerpt":{"rendered":"<p>People always ask me how I keep up to date with SQL Server and how I could possibly know so many intricate details about SQL Server&#8230; Well, I test\/play\/figure it out until it&#8217;s obvious (painfully sometimes and sometimes it&#8217;s not obvious). So, this blog entry is based on a specific question that made me want [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27,36,47,58,78],"tags":[],"class_list":["post-700","post","type-post","status-publish","format-standard","hentry","category-events","category-indexes","category-msdn-webcasts","category-resources","category-tips"],"_links":{"self":[{"href":"https:\/\/www.sqlskills.com\/blogs\/kimberly\/wp-json\/wp\/v2\/posts\/700","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sqlskills.com\/blogs\/kimberly\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sqlskills.com\/blogs\/kimberly\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/kimberly\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/kimberly\/wp-json\/wp\/v2\/comments?post=700"}],"version-history":[{"count":0,"href":"https:\/\/www.sqlskills.com\/blogs\/kimberly\/wp-json\/wp\/v2\/posts\/700\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sqlskills.com\/blogs\/kimberly\/wp-json\/wp\/v2\/media?parent=700"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/kimberly\/wp-json\/wp\/v2\/categories?post=700"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/kimberly\/wp-json\/wp\/v2\/tags?post=700"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}