Eigene Benchmarks nicht, aber die Kenntnis über das Wissen, welches sich in der Datenbankwelt in den letzten Jahren/-zehnten dazu angesammelt hat.
Selbstverständlich ist ein OR-Wrapper langsam, wenn man a) ihn einfach laufen lässt und/oder er b) schlecht designed wurde. Die zusätzliche Schicht ist per Definition (zusätzlicher Layer) ein Overhead, und die Aufgabe des Entwicklers kann nur sein, diesen entsprechend zu minimieren. Welches durch eine geeignete Konfiguration und begrenzt durch die Möglichkeiten des ORM zu tun ist. Datenbanken sind halt kein Thema, die einfach "out-of-the-box" funktionieren (doch, funktionieren schon, nur selten efffizient genug).
Es gibt Objekttypen in Systemen wie Oracle schon seit Jahren, nur eingesetzt werden sie selten. Nur, weil alle Entwickler keine Lust haben? Wohl eher nicht (Praxis).
Bezgl. Performance/Indizes: Beispiel, welches ich auf der BTW09 in Münster mitgenommen habe: XML-Fragmente in einer Logtabelle. Das ist natürlich ideal, weil man so die Log-Ergebnisse der verschiedenen Anwendungen in eine Tabelle ablegen kann (Gesamtgröße im 9stelligen Bereich). Problem 1: Wie filtert man effizient? Die Abfragetechnik ist schnell gewählt (XPath/XQuery), aber für das DBMS bedeutet dies ein Angucken jeden Datensatzes. Ein regulärer Index kann nicht verwendet werden, da a) keine Spalte wie in einer Relation verwendet werden und b) jeder Datensatz auch anders aussehen kann (gleiche Struktur der XML-Dokumente ist nicht erforderlich). Die Quintessenz ist also, dass man jeden Index selber (bspw. über einen XPath, count(accounts/account/name)) selber definieren muss. Das zu lösende (bzw. vorgestellte) Problem ist aber die Tatsache, das der Index (der auch komplizierter sein kann) auch nach einem DML-Statement konsistent sein muss. Und es ist ja klar, das ein komplettes Neuberechnen aller Indizes über alle Dokumente (Millionen) nicht in Frage kommt. Bei normalen relationalen Systemen ist ein solcher Index u.U. durch mathematische Funktionen zu errechnen (count und Existenzen/Null ist total easy, bei Durchschnitten wird es natürlich schwieriger).
Wenn man sich der Problematik erst mal klar wird, dann wird vllt auch verständlich, das rein objekteorientierte/basierte Datenbanksysteme nicht genauso funktionieren können wie eben die relationalen.
Den Einwand mit ORM habe ich deswegen gebracht, weil es für mich kein Grund ist, nur wegen einer OO-Anwendung auch eine "OO"-Datenbank zu verwenden. Entsprechende Zwischenschichten lösen das Problem idR wesentlich besser, zumal man auch deutlich flexibler in der Datenbanksystemwahl ist. Ich muss gestehen, ich weiß nicht um den Umstand von Objekten in MySQL oder Postgres, aber es funktioniert sicher komplett anders als in Oracle oder gar DB2. Bei einem ORM - wie etwa der Quasi-Standard Hibernate - ist das erstmal völlig egal, erst bei der Performance-Optimierung kann das eine Rolle spielen.