HV-Lima Peru

Offshore your .NET/SQL Development to Latin America! Languages: en-de-es

LINQ, Stichwort: Stored Procedure Recompilation

There was no time to translate these thoughts to English, sorry for that!

Hier meine aktuelle Meinung zu LINQ mit Ausholer:
(siehe auch allerletzten Satz ganz unten: …LINQ ist m.E. gar nicht das Problem…)

Wenn man Performance will oder die Logik nicht rausgeben kann, ist es sicher besser eine Stored Proc zu schreiben, die dann von einem DBA optimiert wird.

Es gibt da nämlich so viele Haken.
Allein was die Stored Proc-Recompilation betrifft, siehe im Anhang ganz unten.

Ansonsten:

Pro für LINQ:

Wer sich nicht mehr mit XPath und XQuery auseinandersetzen will, kann das alles mit LINQ abstrahieren, wobei die Queries dann auch gleich für andere Datasources gelten, wie auch sonstige Textfiles oder Collections.
Hier bin ich sehr für LINQ!

– Unify the way of accessing data from different data sources (Objects, database, XML…etc
– It shields you from learning the specification details of each data source

Hier schreibt Ahmed Nagy

Und weiter:

 

Wer mit LINQ to SQL arbeiten will, kann ein Compile konfigurieren.

Wobei ich mich mit diesem LINQ to SQL Compile frage, ob man da nicht mit einem DBA zusammen arbeiten muss, denn das ist nicht so einfach, siehe Anhang ganz unten mit dem Recompile!!!
Wenn man aber sowieso mit dem DBA arbeiten muss, dann kann man doch gleich Stored Procs bauen lassen.
Wie soll der arme Programmierer das alles auf der DB blicken sollen?

Wenn ich alleine gesehen habe, was die Kimberly L. Tripp an Webcasts gemacht hat… meine Güte.

Ganz interessant ist auch folgender Webcast von Bill Graziano, SQL Server MVP:
What I Wish Developers Knew About Writing Queries in SQL Server 2005
Wie soll da der Developer richtige DB-Abfragen machen, so aus dem Stegreif?
Entweder gibt es einen DBA zum Optimieren, oder der Programmierer ist der DBA, dann kann er gleich im SSMS graphisch die SQL-Queries zusammenbauen.
Am Besten ist es dann am Schluß mit dem Profiler nach Recompiles zu fahnden!!!

Hier, von Jim  Wooley, MVP, wie man LINQ to SQL Compiled Queries macht.

Das ist ja wieder extrem abstrakt!!!
OCaml und F#? Hallo ich wollte doch meine Arbeit vereinfachen!!!

Hier ein weiterer Ausschnitt

Anhang wegen der Recompilation von SPs

War Euch die Recompilation von SPs in dieser Art richtig klar??

Siehe: SQL Stored Procedure Recompilation 

A: ALL DDL first, ALL DML last
Die folgende SP wird bei jedem Ausführen genau dreimal recompiled!!

Also nicht nur beim ersten Ausführen drei Mal sondern JEDES MAL DREI MAL!!!
–DDL
–DML
–DDL
–DML etc…

B: Certain Temporary Table Operations

Und vor allen Dingen:

Hier die KEEP PLAN Option verwenden (sprich unkommentiere diese Option in der folgenden SP:

Also dann noch viel Spaß mit LINQ!
Denn LINQ ist m.E. ja gar nicht das Problem!
Alle meinen man nähme was Neues, das man nicht richtig versteht, um die ganzen alten Probleme wegzubekommen, die man auch nicht so richtig versteht.
Anstatt wieder einer neuen Sau durch das Dorf nachzurennen, wäre es vielleicht besser den alten Sachverhalt zu verstehen und dann mit dem Profiler zu arbeiten. Wie bei CSI: Es geht um Evidenz, nicht Kristallkugel.
Oder es gibt eine politische Vorgabe, dann ist es wieder etwas anderes.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: