• rtelgenhoff (10/5/2010)


    I have to agree with Hugo on this. I've done a lot of work in C++ with parsing text files and sorting and caching data. I/O (disk/network) is where you really take the hit. In-memory manipulations using efficient, low-level code can be very fast.

    Since the data is written and read in whole pages only, why would you add extra overhead to your memory operations when you wouldn't be getting any benefit from it?

    In-memory manipulations are indeed fast, but SQL is not written to do 1 thing at a time. We're talking about hundreds, thousands, or even millions of memory operations per second. Do you really want to increase the workload for memory operations by a factor of as much as 8000 times?

    Additionally, if I'm inserting a row, and SQL has to reorder all of the data in the page in memory, I now have to be able to get a lock on the whole page in order to insert a single row that no other process is trying to use. I've now lost all ability to lock only a single row.


    My blog: SQL Soldier[/url]
    SQL Server Best Practices:
    SQL Server Best Practices
    Twitter: @SQLSoldier
    My book: Pro SQL Server 2008 Mirroring[/url]
    Microsoft Certified Master: SQL Server, Data Platform MVP
    Database Engineer at BlueMountain Capital Management[/url]