<?xml version="1.0" encoding="utf-8"?><!-- generator="b2evolution/6.11.7-stable" -->
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Uwe Ricken - Kategorie: "Level 200"</title>
		<link>https://www.insidesql.org/blogs/uricken/</link>
		<atom:link rel="self" type="application/rss+xml" href="https://www.insidesql.org/blogs/uricken/?tempskin=_rss2" />
		<description>InsideSQL.org Blogs - Blogs über SQL Server</description>
		<language>de-DE</language>
		<docs>http://blogs.law.harvard.edu/tech/rss</docs>
		<admin:generatorAgent rdf:resource="http://b2evolution.net/?v=6.11.7-stable"/>
		<ttl>60</ttl>
				<item>
			<title>ISNULL als Prädikat – SEEK oder SCAN</title>
			<link>https://www.insidesql.org/blogs/uricken/2014/08/18/isnull-als-praedikat-seek-oder</link>
			<pubDate>Mon, 18 Aug 2014 04:08:00 +0000</pubDate>			<dc:creator>Uwe Ricken</dc:creator>
			<category domain="alt">Tipps und Tricks</category>
<category domain="alt">Optimierung / Performance</category>
<category domain="main">Level 200</category>			<guid isPermaLink="false">3709@https://www.insidesql.org/blogs/</guid>
						<description>&lt;p&gt;&lt;a href=&quot;http://db-berater.blogspot.de/2014/08/isnull-als-predikat-seek-oder-scan.html&quot;&gt;http://db-berater.blogspot.de/2014/08/isnull-als-predikat-seek-oder-scan.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Im Gespräch mit einem Kunden haben wir uns über NON SARGable Abfragen unterhalten. Dabei ist unter anderem ausgeführt worden, dass Funktionen grundsätzlich zu Index-Scans führen, da sie immer jede Zeile überprüfen müssen. Dieses Thema habe ich im Artikel “&lt;a href=&quot;http://db-berater.blogspot.de/2012/11/optimierung-von-datenbankmodellensargab.html&quot; target=&quot;_blank&quot;&gt;Optimierung von Datenbankmodellen – SARGable Abfragen&lt;/a&gt;” bereits ausführlich behandelt. Viele Funktionen arbeiten tatsächlich nach diesem Prinzip; dennoch ist z. B. die Arbeitsweise von ISNULL als Prädikat davon abhängig, wie das Attribut in der Tabelle definiert wird.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;a href=&quot;https://www.insidesql.org/blogs/uricken/2014/08/18/isnull-als-praedikat-seek-oder#more3709&quot;&gt;Ganze Geschichte &amp;raquo;&lt;/a&gt;</description>
			<content:encoded><![CDATA[<p><a href="http://db-berater.blogspot.de/2014/08/isnull-als-predikat-seek-oder-scan.html">http://db-berater.blogspot.de/2014/08/isnull-als-predikat-seek-oder-scan.html</a></p><p>Im Gespräch mit einem Kunden haben wir uns über NON SARGable Abfragen unterhalten. Dabei ist unter anderem ausgeführt worden, dass Funktionen grundsätzlich zu Index-Scans führen, da sie immer jede Zeile überprüfen müssen. Dieses Thema habe ich im Artikel “<a href="http://db-berater.blogspot.de/2012/11/optimierung-von-datenbankmodellensargab.html" target="_blank">Optimierung von Datenbankmodellen – SARGable Abfragen</a>” bereits ausführlich behandelt. Viele Funktionen arbeiten tatsächlich nach diesem Prinzip; dennoch ist z. B. die Arbeitsweise von ISNULL als Prädikat davon abhängig, wie das Attribut in der Tabelle definiert wird.</p>
<p></p><a href="https://www.insidesql.org/blogs/uricken/2014/08/18/isnull-als-praedikat-seek-oder#more3709">Ganze Geschichte &raquo;</a>]]></content:encoded>
								<comments>https://www.insidesql.org/blogs/uricken/2014/08/18/isnull-als-praedikat-seek-oder#comments</comments>
			<wfw:commentRss>https://www.insidesql.org/blogs/uricken/?tempskin=_rss2&#38;disp=comments&#38;p=3709</wfw:commentRss>
		</item>
				<item>
			<title>Sortierungskonflikte – Auswirkungen auf Ausführungspläne</title>
			<link>https://www.insidesql.org/blogs/uricken/2014/05/31/sortierungskonflikte-auswirkungen-auf-ausfuehrungsplaene</link>
			<pubDate>Sat, 31 May 2014 05:42:00 +0000</pubDate>			<dc:creator>Uwe Ricken</dc:creator>
			<category domain="alt">Tipps und Tricks</category>
<category domain="main">Optimierung / Performance</category>
<category domain="alt">Level 400</category>
<category domain="alt">Level 200</category>			<guid isPermaLink="false">3688@https://www.insidesql.org/blogs/</guid>
						<description>&lt;p&gt;&lt;a href=&quot;http://db-berater.blogspot.de/2014/05/sortierungskonflikte-auswirkungen-auf.html&quot;&gt;http://db-berater.blogspot.de/2014/05/sortierungskonflikte-auswirkungen-auf.html&lt;/a&gt;&lt;/p&gt;&lt;p class=&quot;image_block&quot;&gt;Erst im letzten Artikel “&lt;a href=&quot;http://db-berater.blogspot.de/2014/05/warum-korrekte-datentypen-fur-where.html&quot; target=&quot;_blank&quot;&gt;Warum korrekte Datentypen für WHERE-Klauseln wichtig sind&lt;/a&gt;” habe ich die Auswirkungen von erforderlichen Typenkonvertierungen auf das Ausführungsverhalten beschrieben. Kaum geschrieben kam dann auch ein “echter” Fall diese Woche, der zunächst unerklärlich war; ein Blick auf die Ausführungspläne hat dann aber sehr schnell gezeigt, dass ein &lt;strong&gt;falsch gelöster&lt;/strong&gt; “Sortierungskonflikt” die Ursache für das sehr schlechte Ausführungsverhalten der Abfrage war.&lt;/p&gt;&lt;a href=&quot;https://www.insidesql.org/blogs/uricken/2014/05/31/sortierungskonflikte-auswirkungen-auf-ausfuehrungsplaene#more3688&quot;&gt;Ganze Geschichte &amp;raquo;&lt;/a&gt;</description>
			<content:encoded><![CDATA[<p><a href="http://db-berater.blogspot.de/2014/05/sortierungskonflikte-auswirkungen-auf.html">http://db-berater.blogspot.de/2014/05/sortierungskonflikte-auswirkungen-auf.html</a></p><p class="image_block">Erst im letzten Artikel “<a href="http://db-berater.blogspot.de/2014/05/warum-korrekte-datentypen-fur-where.html" target="_blank">Warum korrekte Datentypen für WHERE-Klauseln wichtig sind</a>” habe ich die Auswirkungen von erforderlichen Typenkonvertierungen auf das Ausführungsverhalten beschrieben. Kaum geschrieben kam dann auch ein “echter” Fall diese Woche, der zunächst unerklärlich war; ein Blick auf die Ausführungspläne hat dann aber sehr schnell gezeigt, dass ein <strong>falsch gelöster</strong> “Sortierungskonflikt” die Ursache für das sehr schlechte Ausführungsverhalten der Abfrage war.</p><a href="https://www.insidesql.org/blogs/uricken/2014/05/31/sortierungskonflikte-auswirkungen-auf-ausfuehrungsplaene#more3688">Ganze Geschichte &raquo;</a>]]></content:encoded>
								<comments>https://www.insidesql.org/blogs/uricken/2014/05/31/sortierungskonflikte-auswirkungen-auf-ausfuehrungsplaene#comments</comments>
			<wfw:commentRss>https://www.insidesql.org/blogs/uricken/?tempskin=_rss2&#38;disp=comments&#38;p=3688</wfw:commentRss>
		</item>
				<item>
			<title>Performancevorteile durch Instant File Initialization</title>
			<link>https://www.insidesql.org/blogs/uricken/2014/02/25/performancevorteile-durch-instant-file-initialization</link>
			<pubDate>Tue, 25 Feb 2014 09:25:00 +0000</pubDate>			<dc:creator>Uwe Ricken</dc:creator>
			<category domain="main">Administration</category>
<category domain="alt">Optimierung / Performance</category>
<category domain="alt">Level 200</category>
<category domain="alt">Storage Engine</category>			<guid isPermaLink="false">3649@https://www.insidesql.org/blogs/</guid>
						<description>&lt;p&gt;&lt;a href=&quot;http://db-berater.blogspot.de/2014/02/performancevorteile-durch-instant-file.html&quot;&gt;http://db-berater.blogspot.de/2014/02/performancevorteile-durch-instant-file.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Beim Anlegen von Datenbankdateien (Daten, Log) werden standardmäßig die zu erstellenden Dateien beim Initialisieren mit 0 aufgefüllt, damit eventuell auf dem Datenträger zurückgebliebene Daten von vorherigen (gelöschten) Dateien überschrieben werden. Dieses Verfahren betrifft nicht nur das Erstellen neuer Datenbanken sondern auch die Wiederherstellung von Datenbanken aus einem Backup oder die stetige Vergrößerung einer Datenbank. Welchen Einfluss diese Vorgänge auf die Leistung von Microsoft SQL Server hat, beschreibt der nachfolgende Artikel.&lt;/p&gt;</description>
			<content:encoded><![CDATA[<p><a href="http://db-berater.blogspot.de/2014/02/performancevorteile-durch-instant-file.html">http://db-berater.blogspot.de/2014/02/performancevorteile-durch-instant-file.html</a></p><p>Beim Anlegen von Datenbankdateien (Daten, Log) werden standardmäßig die zu erstellenden Dateien beim Initialisieren mit 0 aufgefüllt, damit eventuell auf dem Datenträger zurückgebliebene Daten von vorherigen (gelöschten) Dateien überschrieben werden. Dieses Verfahren betrifft nicht nur das Erstellen neuer Datenbanken sondern auch die Wiederherstellung von Datenbanken aus einem Backup oder die stetige Vergrößerung einer Datenbank. Welchen Einfluss diese Vorgänge auf die Leistung von Microsoft SQL Server hat, beschreibt der nachfolgende Artikel.</p>]]></content:encoded>
								<comments>https://www.insidesql.org/blogs/uricken/2014/02/25/performancevorteile-durch-instant-file-initialization#comments</comments>
			<wfw:commentRss>https://www.insidesql.org/blogs/uricken/?tempskin=_rss2&#38;disp=comments&#38;p=3649</wfw:commentRss>
		</item>
				<item>
			<title>Eigene Systemprozeduren im Kontext der aktuellen Datenbank nutzen</title>
			<link>https://www.insidesql.org/blogs/uricken/2014/02/05/eigene-systemprozeduren-im-kontext-der</link>
			<pubDate>Wed, 05 Feb 2014 09:20:00 +0000</pubDate>			<dc:creator>Uwe Ricken</dc:creator>
			<category domain="main">Tipps und Tricks</category>
<category domain="alt">Sonstiges</category>
<category domain="alt">Level 200</category>			<guid isPermaLink="false">3648@https://www.insidesql.org/blogs/</guid>
						<description>&lt;p&gt;&lt;a href=&quot;http://db-berater.blogspot.de/2014/02/eigene-systemprozeduren-im-kontext-der.html&quot;&gt;http://db-berater.blogspot.de/2014/02/eigene-systemprozeduren-im-kontext-der.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Während der Vorbereitungen zu meinem Vortrag “DMO für die Analyse von Indexen” für die &lt;a href=&quot;http://www.sqlkonferenz.de/agenda.aspx&quot; target=&quot;_blank&quot;&gt;SQL Server Konferenz 2014&lt;/a&gt; in Darmstadt wollte ich es mir einfach machen und eine Stored Procedure für die Ausgabe der Analyse programmieren, die in jeder Benutzerdatenbank verwendet werden kann. Dieser Prozedur wird nur noch der Name des zu analysierenden Objekts sowie die Index Id für die Ausgabe übergeben. Während der Tests gab es jedoch Schwierigkeiten, weil ein Aufruf in der Demo-Datenbank keine Daten lieferte. Die Ursache war schnell gefunden; einige Objekte in der Prozedur wurden im Kontext der master- Datenbank ausgeführt. Wie man eine Prozedur dazu veranlassen kann, dass sie trotz Speicherung in der master-Datenbank immer im Kontext der aktuellen Datenbank ausgeführt wird, zeigt dieser Artikel.&lt;/p&gt;</description>
			<content:encoded><![CDATA[<p><a href="http://db-berater.blogspot.de/2014/02/eigene-systemprozeduren-im-kontext-der.html">http://db-berater.blogspot.de/2014/02/eigene-systemprozeduren-im-kontext-der.html</a></p><p>Während der Vorbereitungen zu meinem Vortrag “DMO für die Analyse von Indexen” für die <a href="http://www.sqlkonferenz.de/agenda.aspx" target="_blank">SQL Server Konferenz 2014</a> in Darmstadt wollte ich es mir einfach machen und eine Stored Procedure für die Ausgabe der Analyse programmieren, die in jeder Benutzerdatenbank verwendet werden kann. Dieser Prozedur wird nur noch der Name des zu analysierenden Objekts sowie die Index Id für die Ausgabe übergeben. Während der Tests gab es jedoch Schwierigkeiten, weil ein Aufruf in der Demo-Datenbank keine Daten lieferte. Die Ursache war schnell gefunden; einige Objekte in der Prozedur wurden im Kontext der master- Datenbank ausgeführt. Wie man eine Prozedur dazu veranlassen kann, dass sie trotz Speicherung in der master-Datenbank immer im Kontext der aktuellen Datenbank ausgeführt wird, zeigt dieser Artikel.</p>]]></content:encoded>
								<comments>https://www.insidesql.org/blogs/uricken/2014/02/05/eigene-systemprozeduren-im-kontext-der#comments</comments>
			<wfw:commentRss>https://www.insidesql.org/blogs/uricken/?tempskin=_rss2&#38;disp=comments&#38;p=3648</wfw:commentRss>
		</item>
				<item>
			<title>Fremdschlüssel–Probleme in Verbindung mit FILLFACTOR</title>
			<link>https://www.insidesql.org/blogs/uricken/2013/11/10/fremdschluessel-probleme-in-verbindung-mit</link>
			<pubDate>Sun, 10 Nov 2013 08:16:00 +0000</pubDate>			<dc:creator>Uwe Ricken</dc:creator>
			<category domain="alt">Administration</category>
<category domain="main">Tipps und Tricks</category>
<category domain="alt">Level 200</category>			<guid isPermaLink="false">3605@https://www.insidesql.org/blogs/</guid>
						<description>&lt;p&gt;&lt;a href=&quot;http://db-berater.blogspot.de/2013/11/fremdschlusselprobleme-in-verbindung.html&quot;&gt;http://db-berater.blogspot.de/2013/11/fremdschlusselprobleme-in-verbindung.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Das folgende Szenario basiert auf einer &lt;a href=&quot;http://social.msdn.microsoft.com/Forums/sqlserver/en-US/6e5eb742-f55a-4284-aad3-824991e439f3/internals-where-in-a-nonclustered-index-is-the-insert-made?forum=sqldatabaseengine&quot; target=&quot;_blank&quot;&gt;Anfrage&lt;/a&gt; in den Microsoftforen, in der die Frage in den Raum gestellt wurde, ob die Verwendung von FILLFACTOR für einen non clustered index, der als Optimierung für eine Fremdschlüsselbeziehung erstellt wurde, effektiv ist und Abfragen beschleunigt. Die Standardaussage: “It depends” gilt nicht, wenn der Clustered Key fortlaufend ist. Der nachfolgende Artikel verdeutlicht die Problematik im Detail.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;a href=&quot;https://www.insidesql.org/blogs/uricken/2013/11/10/fremdschluessel-probleme-in-verbindung-mit#more3605&quot;&gt;Ganze Geschichte &amp;raquo;&lt;/a&gt;</description>
			<content:encoded><![CDATA[<p><a href="http://db-berater.blogspot.de/2013/11/fremdschlusselprobleme-in-verbindung.html">http://db-berater.blogspot.de/2013/11/fremdschlusselprobleme-in-verbindung.html</a></p><p>Das folgende Szenario basiert auf einer <a href="http://social.msdn.microsoft.com/Forums/sqlserver/en-US/6e5eb742-f55a-4284-aad3-824991e439f3/internals-where-in-a-nonclustered-index-is-the-insert-made?forum=sqldatabaseengine" target="_blank">Anfrage</a> in den Microsoftforen, in der die Frage in den Raum gestellt wurde, ob die Verwendung von FILLFACTOR für einen non clustered index, der als Optimierung für eine Fremdschlüsselbeziehung erstellt wurde, effektiv ist und Abfragen beschleunigt. Die Standardaussage: “It depends” gilt nicht, wenn der Clustered Key fortlaufend ist. Der nachfolgende Artikel verdeutlicht die Problematik im Detail.</p>
<p></p><a href="https://www.insidesql.org/blogs/uricken/2013/11/10/fremdschluessel-probleme-in-verbindung-mit#more3605">Ganze Geschichte &raquo;</a>]]></content:encoded>
								<comments>https://www.insidesql.org/blogs/uricken/2013/11/10/fremdschluessel-probleme-in-verbindung-mit#comments</comments>
			<wfw:commentRss>https://www.insidesql.org/blogs/uricken/?tempskin=_rss2&#38;disp=comments&#38;p=3605</wfw:commentRss>
		</item>
			</channel>
</rss>
