Wie cletus erwähnte, hat Oracle eine grundsätzlich andere Sperrstruktur als SQL Server: "Schreiber blockieren keine Leser und Leser blockieren keine Schreiber", wie Tom Kyte ( seine Website ist eine fantastische kostenlose Ressource ) zu sagen pflegt. Etwas Ähnliches wurde in SQL Server 2005 eingebaut, aber es wurde so gemacht, dass die Zeilenversionierung in tempdb implementiert wurde, was nicht besonders skalierbar klingt. Außerdem ist sie standardmäßig ausgeschaltet, so dass die Leute bei Microsoft davon nicht besonders überzeugt zu sein scheinen.
Oracle hat auch eine sehr unterschiedliche Caching-Struktur für Abfragen, so dass die Verwendung von gebundenen Variablen oder Platzhaltern einen großen Unterschied machen kann: Das "harte" Parsing (d.h. die Datenbank prüft die SQL-Syntax, als ob sie sie zum ersten Mal sieht) kann auf ein Minimum reduziert werden, was bedeutet, dass nur das "weiche" Parsing (das Ausfüllen der Variablen) einen Overhead erfordert. Ab 10g gibt es auch die Möglichkeit, Bindungsvariablen zu "peaken", so dass Sie Bindungsvariablen verwenden können, ohne schiefen Daten ausgeliefert zu sein.
Hinzu kommen Dinge wie eine wirklich effiziente und optimierte Volltextsuche und die Versionierung auf Zeilenebene.