Tag: "query"

Analoge Zeit in Transact-SQL

Gestern gab es hier eine kleine interne Diskussion um ASCII Art und in diesem Zusammenhang fiel mir ein kleines "Highlight" ein, das mittlerweile vor fast 10 Jahren (seufz!) stattgefunden hat und das wert ist, aufbewahrt zu werden. Konkret ging es um… mehr »

Quick and Dirty Datenbank Dokumentierer

Immer wieder liest man Fragen, wie man über alle Datenbanken einer Instanz hinweg, alle Tabellen plus Spalten und deren Datentypen usw... auslesen kann Um all diesen Personen die schwierigen Bedienung einer Internet-Suchmaschine abzunehmen ist hier ein… mehr »

Short-Circuiting und CASE Ausdrücke

Bart Duncan hat einen sehr interessanten Blog-Eintrag zu Short-Circuiting und CASE Audrücken verfasst. mehr »

SELECT COUNT(*) vs. SELECT COUNT(1)

Immer wieder kann man die Datenbank Communities die Behauptung lesen, dass ein SELECT (1) schneller sein soll als ein SELECT COUNT(*). mehr »

Wie oft wird ein Trigger abgefeuert?

Genau einmal pro INSERT/UPDATE/DELETE Aktion wird ein Trigger abgefeuert. Auch wenn zum Beispiel ein UPDATE Statement mehr als eine Zeile betrifft. mehr »

ERROR_PROCEDURE gibt keinen Schemanamen zurück

Ein kürzlicher Beitrag von Yuri (object_id der aktuellen gespeicherten Prozedur ermitteln) hat mich daran erinnert, dass ich schon seit einiger Zeit meinem Unmut über eine Inkonsequenz in SQL Server Ausdruck verleihen wollte. mehr »

IDENTITY Eigenschaft entfernen

So einfach und leicht das Definieren der IDENTITY Eigenschaft für eine numerische Spalte ist, so umständlich und wenig intuitiv ist das Entfernen dieser Eigenschaft später wieder. Es gibt tatsächlich keinen direkten Weg, so wie ALTER TABLE DROP IDENTITY… mehr »

Zahlen eines Integers aufaddieren

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… mehr »

JOIN Stolperfallen Teil 2

Immer wieder kann man Leute beobachten, die fragen, warum ihr LEFT JOIN Statement nicht das gewünschte Resultset zurückbringt. mehr »

Tabellen ohne Indizes

Hier sind diverse Möglichkeiten um zu überprüfen, für welche Tabellen kein Clustered Index definiert wurde: mehr »

Boolean Werte in Worte umwandeln

BOOLEAN Werte sind nicht für jedermann intuitiv. Hier ist ein netter Trick, um 0 und 1 etwas verständlicher zu machen. mehr »

Grossbuchstaben eines Strings zurückgeben

Zugegeben nicht gerade etwas, das man jeden Tag braucht, aber falls doch... DECLARE @s varchar(100); SELECT @s = 'Und Was Habe Ich Damit Zu Tun?'; SELECT x.OnlyInitials FROM (SELECT SUBSTRING(@s, N.Number, 1) FROM… mehr »

Subqueries in BETWEEN and CASE Statements

http://blogs.msdn.com/craigfr/archive/2008/06/27/subqueries-in-between-and-case-statements.aspx mehr »

Differences between ISNULL and COALESCE

http://blogs.msdn.com/sqltips/archive/2008/06/26/differences-between-isnull-and-coalesce.aspx more »

Wide vs. Narrow Plans

http://blogs.msdn.com/bartd/archive/2006/07/27/wide-vs-narrow-plans.aspx more »

Implicit Conversions

http://blogs.msdn.com/craigfr/archive/2008/06/05/implicit-conversions.aspx mehr »

Geek City: What's Worse Than a Table Scan?

http://sqlblog.com/blogs/kalen_delaney/archive/2008/05/25/whats-worse-than-a-table-scan.aspx more »

Unterabfragen und Namensauflösung

Die Möglichkeit, Unterabfragen zu erstellen und SELECT Statements zu korrelieren ist ein ziemlich mächtiges Feature in SQL und SQL Server unterstützt glücklicherweise die Erstellung von korrelierten und unkorrelierten Unterabfragen. Allerdings gibt… mehr »

Non Recursive Common Table Expressions - Performance Sucks 2 - ROW_NUMBER() is executed {number of CTE references} x {number of rows from the anchor}

http://sqlblogcasts.com/blogs/tonyrogerson/archive/2008/05/17/non-recursive-common-table-expressions-performance-sucks-2-row-number-is-executed-number-of-cte-references-x-number-of-rows-from-the-anchor.aspx mehr »

Non Recursive Common Table Expressions - Performance Sucks 1 - CTE Self-Join / CTE Sub Query inline expansion

http://sqlblogcasts.com/blogs/tonyrogerson/archive/2008/05/17/non-recursive-common-table-expressions-performance-sucks-1-cte-self-join-cte-sub-query-inline-expansion.aspx mehr »

Query Processing Presentation

http://blogs.msdn.com/craigfr/archive/2008/05/15/query-processing-presentation.aspx mehr »

How hard is it to pick the right non-clustered indexes?

http://www.sqlskills.com/blogs/paul/2008/05/14/HowHardIsItToPickTheRightNonclusteredIndexes.aspx more »

Execution Plan Basics

http://www.simple-talk.com/sql/performance/execution-plan-basics/ more »

Sichtbarkeit von Metadaten

Eine dieser berühmt-berüchtigten "Kleinigkeiten", über die ich mir bisher wenig Gedanken gemacht habe, ist die Sichtbarkeit von Metadaten innerhalb einer SQL Server Datenbank. Sie waren bisher einfach immer und überall verfügbar, sprich abfragbar.… mehr »

Tücken bei der Verwendung eines Cursors in einem "clustered index vom Typen (n)varchar"

Obwohl der Autor ein Gegner von Cursor ist, gibt es Situationen, in denen es einfach nicht möglich ist, eine andere Variante der Datenmanipulation zu favorisieren. Das Cursor nicht gerade performant sind im Verhältnis zur mengenorientierten… mehr »
1 3 4