<![CDATA[Article Comments for Robert D. Schneider]]>http://www.windowsitpro.com/authors/author/author/5777305/rsscomment/5777305en-USSun, 27 May 2012 07:17:15 GMTSun, 27 May 2012 07:17:15 GMTHorizontal and Vertical Partitioninghttp://www.windowsitpro.com/article/windows-client/horizontal-and-vertical-partitioning#commentsAnchorFri, 24 Jun 2005 04:19:24 GMT
does oracle supports vertical partitioning ]]>
Anonymous User Fri, 24 Jun 2005 04:19:24 GMThttp://www.windowsitpro.com/article/windows-client/horizontal-and-vertical-partitioning#commentsAnchor
10 More Performance-Enhancing Ideas for SQL Serverhttp://www.windowsitpro.com/article/performance/10-more-performance-enhancing-ideas-for-sql-server#commentsAnchorThu, 12 Aug 1999 15:56:33 GMT
In Robert D. Schneider’s April article, “10 More Performance-Enhancing Ideas for SQL Server,” I noticed that Tip 10: Use the Multiple Table DELETE Option is at best misleading, and at worst wrong. Tip 10 is about a delete statement that uses multiple tables. A delete statement can affect only one table at a time but can use the contents of other tables to decide which rows to delete. The article implies that one SQL statement can delete rows from multiple tables at the same time. This capability has never been possible with any major RDBMS, and in fact, is against the ANSI SQL standard. Try the following simple code, which is the SQL presented in the article with some statements added to create the tables and populate them. Review the contents after the delete statement has completed.

create table resources (resource_cost money)
create table parts (part_cost money)
insert resources values ($1000)
insert resources values ($6000)
insert parts values ($1000)
insert parts values ($6000)
delete from resources from parts
where resources.resource_cost = parts.part_cost
and resources.resource_cost> $5000

select * from resources
select * from parts

The only rows the delete statement affects are the rows in the resources table. Schneider complicates the problem by including a join clause in the delete statement. Unless you have a true one-to-one relationship between the resources and parts table, you will delete rows only where you have a match on the cost columns. This is not the equivalent of deleting all rows from each individual table where the cost is greater than 5000.
--Lawrence Rogers]]>
Lawrence Rogers Thu, 12 Aug 1999 15:56:33 GMThttp://www.windowsitpro.com/article/performance/10-more-performance-enhancing-ideas-for-sql-server#commentsAnchor