Manchmal sieht man den Wald vor lauter Bäumen nicht, wenn man etwas "zwischen Tür und Angel" codiert. Daher dieser kleine Beitrag. Vielleicht hilft er dem einen oder anderen ja, die Zeit für die Fehlersuche zu sparen.
DECLARE @i int, @l int;
SELECT
@i = 12, @l = LEN(@i);
SELECT
SUM(x.Digit)
FROM
(SELECT
CAST(SUBSTRING(RTRIM(@i), N.Number, 1) AS int) AS Digit
FROM
dbo.Number N
WHERE
N.Number BETWEEN 1 AND LEN(RTRIM(@i))
) x;
Performance ist eine zentrale Kenngröße für Datenbanken. Es wird erwartet, dass moderne ausgereifte SQL Datenbanksysteme den größten Arbeitslasten standhalten können und trotzdem gute und gleichbleibende Performance abliefern. Der interne Code des Datenbanksystems ist in der Regel hochoptimiert und getuned, doch vielfach ist dies leider nicht der Fall für die Datenbanken, die mit einem solchen System verwaltet werden. Eine schlecht entworfene und/oder entwickelte Datenbank kann problemlos auch das schnellste Datenbankmanagementsystem in die Knie zwingen. Aus diesem Grund ist es äußerst wichtig, dass Datenbanken von Leuten entworfen und implementiert werden, die ihre Sache verstehen. Aber selbst mit solchen Leuten in der Verantwortung besteht fast immer noch ein Spielraum für Optimierungen. Doch leider ist die Optimierung von Abfragen und der allgemeinen Arbeitslast eine langwierige und zeitaufwändige Aufgabe. Dies nun ist der Zeitpunkt, an dem Qure von DBSophic die Bühne betritt.
All diejenigen, die mit dem Gedanken spielen, die diesjährigen SQLdays zu besuchen, sollten sich mal diesen Eintrag anschauen:
Obwohl der Clustered Index in der Mehrzahl der Fälle ein korrekt sortiertes Resultset zurückgibt, gibt es keine Garantie hierfür. Wenn man ein SELECT Statement ohne explizites ORDER BY ausführt, versucht SQL Server die Daten in der schnellstmöglichen Sortierung zurückzugeben, was nicht unbedingt, die des Clustered Index ist.
Manchmal kann es nützlich sein, den Wert oder den Ausdruck einer DEFAULT Einschränkung abzufragen.
Datenbank-Server können (und werden) ebenso ausfallen wie alle anderen elektronischen Geräte. Von daher ist es grob fahrlässig, sich mit diesen Gedanken nicht rechtzeitig zu beschäftigen. Wie der daraus resultierende Plan aussieht hängt vom jeweiligen Einzelfall ab, aber im Minimum sollten die auf dem Server gehosteten Datenbanken regelmässig gesichert werden.