<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>SQL: Query performanter machen</title>
    <link>http://forum.geizhals.at/feed.jsp?id=576679</link>
    <description>Geizhals-Forum</description>
    <item>
      <title>Re(2): SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858677.html#4858677</link>
      <description>&lt;blockquote&gt;Solch eine Abfrage (query) muss langsam sein, denn fuer jede Zeile (row) in der Resultatsmenge (result set) wird die "AND uniqueid NOT IN (value-list)" Suchbedingeung (search-condition) neu ausgeführt.&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;hm so stehts auch in dem Buch über SQL-Tuning, nur leider war mir bis vorhin keine andere Möglichkeit bekannt, diese Daten abzufragen!&lt;br&gt;&lt;br&gt;ansonsten &lt;a href="http://forum.geizhals.at/t576679,4858671.html#4858671" rel="noopener" target="_blank"&gt;http:/&lt;wbr/&gt;/&lt;wbr/&gt;forum.geizhals.at/&lt;wbr/&gt;t576679,4858671.html#4858671&lt;/a&gt; &lt;br&gt;&lt;br&gt;also nochmals danke!&lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 13:32:22 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858677.html#4858677</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-06-16T13:32:22Z</dc:date>
    </item>
    <item>
      <title>Re(2): SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858673.html#4858673</link>
      <description>jo diese Logik zählt zu den 30min-Abfragen &lt;img src="schief.gif" width="16" height="19" align="absmiddle" alt=":-/"/&gt;&lt;br&gt;&lt;br&gt;ansonsten &lt;a href="http://forum.geizhals.at/t576679,4858671.html#4858671" rel="noopener" target="_blank"&gt;http:/&lt;wbr/&gt;/&lt;wbr/&gt;forum.geizhals.at/&lt;wbr/&gt;t576679,4858671.html#4858671&lt;/a&gt; &lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 13:28:19 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858673.html#4858673</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-06-16T13:28:19Z</dc:date>
    </item>
    <item>
      <title>Re(8): SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858672.html#4858672</link>
      <description>&lt;a href="http://forum.geizhals.at/t576679,4858671.html#4858671" rel="noopener" target="_blank"&gt;http:/&lt;wbr/&gt;/&lt;wbr/&gt;forum.geizhals.at/&lt;wbr/&gt;t576679,4858671.html#4858671&lt;/a&gt; &lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 13:27:44 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858672.html#4858672</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-06-16T13:27:44Z</dc:date>
    </item>
    <item>
      <title>Re(2): SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858671.html#4858671</link>
      <description>so ich hab die IDs importiert, ein Subquery aus der Abfrage gemacht und innerhalb von 11 Sekunden &lt;img src="surprise.gif" width="16" height="19" align="absmiddle" alt="8-O"/&gt; ein Ergebnis erhalten&lt;br&gt;&lt;br&gt;thx an alle, die sich bemüht haben, mir zu helfen!&lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 13:27:32 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858671.html#4858671</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-06-16T13:27:32Z</dc:date>
    </item>
    <item>
      <title>Re: SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858656.html#4858656</link>
      <description>select count(*)&lt;br&gt;from tabelle&lt;br&gt;where aktiv=1 --0 u. 1 erlaubt&lt;br&gt;and blabla=1 --0 u. 1 erlaubt&lt;br&gt;and uniqueid not in (160.000 IDs aufgelistet)&lt;br&gt;&lt;br&gt;Solch eine Abfrage (query) muss langsam sein, denn fuer jede Zeile (row) in der Resultatsmenge (result set) wird die "AND uniqueid NOT IN (value-list)" Suchbedingeung (search-condition) neu ausgeführt.&lt;br&gt;&lt;br&gt;Falls Ihr SQL WITH im SELECT statement unterstützt:&lt;br&gt;&lt;br&gt;WITH myIDs AS (SELECT distinct myIDIdentifier&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM myIDTable&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&lt;br&gt;&lt;br&gt;select count(*)&lt;br&gt;from tabelle LEFT EXCEPTION JOIN myIDs&lt;br&gt;&amp;nbsp;&amp;nbsp; ON tabelle.uniqueid = myIDs.myIDIdentifier&lt;br&gt;where&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; aktiv = 1 --0 u. 1 erlaubt&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;and&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; blabla=1 --0 u. 1 erlaubt&lt;br&gt;&lt;br&gt;Gibt Ihnen alle Element von tabelle zurück die &lt;br&gt;1.) aktiv = 1 haben&lt;br&gt;2.) blabla = 1 haben &lt;br&gt;3.) nicht in myIDs sind&lt;br&gt;&lt;br&gt;mfG&lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 13:21:26 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858656.html#4858656</guid>
      <dc:creator>Alois_de_Saster</dc:creator>
      <dc:date>2008-06-16T13:21:26Z</dc:date>
    </item>
    <item>
      <title>Re: SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858625.html#4858625</link>
      <description>es wird sich ja keiner hingesetzt haben und die 160.000&amp;nbsp;&amp;nbsp;IDs ausgewählt haben ..&lt;br&gt;&lt;br&gt;sondern dies nach irgendeiner "logik" gemacht haben &lt;br&gt;&lt;br&gt;diese sollte man halt nachbauen&lt;br&gt;&lt;br&gt;&lt;br&gt;(hätte auch den vorteil, dass die 3 IDs die versehentlich in der liste mit den 160000 drinnen sind, und nicht rein gehören würden auch gleich weg wären &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt; )&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;(wennst die tabelle ändern darfst, könntest natürlich ein zusätzliches feld "istin160000" machen...)&lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 13:08:51 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858625.html#4858625</guid>
      <dc:creator>adhoc</dc:creator>
      <dc:date>2008-06-16T13:08:51Z</dc:date>
    </item>
    <item>
      <title>Re(7): SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858559.html#4858559</link>
      <description>&lt;blockquote&gt;&lt;em&gt; glaubst macht es einen Unterschied, wenn ich die 160.000 IDs in eine temporäre Tabelle importiere und diese dann per Subquery exkludiere?&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;auch ohne ms sql zu kennen, gehe ich stark davon aus dass das (sehr viel) besser ist, wenn die (temp) tabelle indexiert ist - fuer ein RDBMS ist es das taegliche brot, joins und selects zu optimieren.&lt;br&gt;&lt;br&gt;join ist vermutlich am besten, subquery mit &lt;i&gt;exists (select 1 from ... where ...)&lt;/i&gt; wird vermutlich auch einges besser sein als &lt;i/&gt;in (select id from ...)&lt;/a&gt;.&lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 12:41:14 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858559.html#4858559</guid>
      <dc:creator>japh</dc:creator>
      <dc:date>2008-06-16T12:41:14Z</dc:date>
    </item>
    <item>
      <title>Re: SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858546.html#4858546</link>
      <description>am besten, du schreibst die 160k Id's in eine temp. Tabelle, legst einen Index drauf und fragst mit "exists" ab.&lt;br&gt;Das sollte die Abfrage auf max. ein paar Minuten beschränken.&lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 12:37:12 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858546.html#4858546</guid>
      <dc:creator>chaka</dc:creator>
      <dc:date>2008-06-16T12:37:12Z</dc:date>
    </item>
    <item>
      <title>Re(8): SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858429.html#4858429</link>
      <description>&lt;blockquote&gt;Und in dem Fall kannst das Query nicht einfach über Nacht laufen lassen?&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;hm mir wird wohl eh nix anderes übrig bleiben! allerdings wollt ich da schon den Tuning-Advisor mit einer 2GB-Profiler-Datei beschäftigen ... hm das Backup sollte auch noch irgendwann laufen ... najo dem Server is am Abend jo eh immer so fad &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt;&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;Klingt ja nicht so, als würde das Ergebnis sich oft ändern, oder ständig benötigt wird.&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;stimmt - ein einziges Ergebnis mit den IDs würde mir schon reichen!&lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 12:08:11 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858429.html#4858429</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-06-16T12:08:11Z</dc:date>
    </item>
    <item>
      <title>Re(7): SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858413.html#4858413</link>
      <description>&lt;blockquote&gt;&lt;em&gt; ich musste auch schon Abfragen für den Verkauf machen, die unzählige Joins und&lt;br&gt;Subqueries drin hatten - die sind dann aber auch über 30min auf unserem neuen&lt;br&gt;System gelaufen &lt;img src="crazy.gif" width="16" height="19" align="absmiddle" alt="%-)"/&gt;&lt;img src="hornsmile.gif" width="16" height="26" align="absmiddle" alt="&amp;gt;&amp;#58;-&amp;#41;"/&gt;&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;Und in dem Fall kannst das Query nicht einfach über Nacht laufen lassen? Klingt ja nicht so, als würde das Ergebnis sich oft ändern, oder ständig benötigt wird.&lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 12:04:02 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858413.html#4858413</guid>
      <dc:creator>Dr. Watson</dc:creator>
      <dc:date>2008-06-16T12:04:02Z</dc:date>
    </item>
    <item>
      <title>Re(6): SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858403.html#4858403</link>
      <description>&lt;blockquote&gt;Naja, "einfach" ist gut&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;war auch ironisch gemeint! edit vom Aufbau her ist die Query aber trotzdem sehr einfach! ich musste auch schon Abfragen für den Verkauf machen, die unzählige Joins und Subqueries drin hatten - die sind dann aber auch über 30min auf unserem neuen System gelaufen &lt;img src="crazy.gif" width="16" height="19" align="absmiddle" alt="%-)" img src="hornsmile.gif" width="16" height="26" align="absmiddle" alt="&amp;gt;&amp;#58;-&amp;#41;"/&gt;&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;Ich sehe das Problem ganz einfach in der Planung - den Fall "einzelne mega tabelle" und "abteilung x braucht spezielle daten" hätte man sich vorher überlegen müssen.&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;stimmt - aber mit der Datenmenge hat man vor ca. 1 Jahr nicht gerechnet &lt;img src="schief.gif" width="16" height="19" align="absmiddle" alt=":-/"/&gt;&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;Für solche Fälle (extrem viele Zeilen) hätte ich ... Tabellen Partitionierung verwendet&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;ja ich bin grad dabei, mit meinem Vorgesetzten zu klären, ob wir nicht ein paar Tabellen zu partitioned views ummodellieren!&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;gibt es für die z.b. ein zeitliches Kriterium, das du von deinem "Auftraggeber" erfragen kannst&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;na leider nicht und mir fällt auch kein Kriterium ein, auf das ich es eingrenzen könnte ...&lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 11:46:46 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858403.html#4858403</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-06-16T11:46:46Z</dc:date>
    </item>
    <item>
      <title>Re(6): SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858383.html#4858383</link>
      <description>&lt;blockquote&gt;Naja, "einfach" ist gut&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;war auch ironisch gemeint! &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt;&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;Ich sehe das Problem ganz einfach in der Planung - den Fall "einzelne mega tabelle" und "abteilung x braucht spezielle daten" hätte man sich vorher überlegen müssen.&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;stimmt - aber mit der Datenmenge hat man vor ca. 1 Jahr nicht gerechnet &lt;img src="schief.gif" width="16" height="19" align="absmiddle" alt=":-/"/&gt;&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;Für solche Fälle (extrem viele Zeilen) hätte ich ... Tabellen Partitionierung verwendet&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;ja ich bin grad dabei, mit meinem Vorgesetzten zu klären, ob wir nicht ein paar Tabellen zu partitioned views ummodellieren!&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;gibt es für die z.b. ein zeitliches Kriterium, das du von deinem "Auftraggeber" erfragen kannst&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;na leider nicht und mir fällt auch kein Kriterium ein, auf das ich es eingrenzen könnte ...&lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 11:46:46 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858383.html#4858383</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-06-16T11:46:46Z</dc:date>
    </item>
    <item>
      <title>Re(5): SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858321.html#4858321</link>
      <description>Naja, "einfach" ist gut - wegen deinem Count muss die DB sowieso physikalisch die komplette Tabelle (9,5 Millionen Zeilen lt. deinen angaben) durchwetzen, und das dauert nun mal seine Zeit. &lt;br&gt;&lt;br&gt;Ich sehe das Problem ganz einfach in der Planung - den Fall "einzelne mega tabelle" und "abteilung x braucht spezielle daten" hätte man sich vorher überlegen müssen.&lt;br&gt;&lt;br&gt;Für solche Fälle (extrem viele Zeilen) hätte ich (unter PostgreSQL) Tabellen Partitionierung verwendet, die Tabellen damit nach Monaten (oder sogar weniger, je nach Menge) aufgeteilt, und jeder zeile ein created Datum gegeben, auf dieses einen Index setzen und diesen clustern. &lt;br&gt;&lt;br&gt;Hat dann nicht nur den Vorteil, dass die abfragen extrem schnell sind, weil du keine mega-großen indizes hast, sondern auch die Wartung ist schneller, weil eben nicht bei jedem update / insert / delete ein mega-großer index aktualisiert werden muss.&lt;br&gt;&lt;br&gt;Kann jetzt natürlich nur raten, aber diese 160.000 Ids müssen doch auch irgendwo her kommen - gibt es für die z.b. ein zeitliches Kriterium, das du von deinem "Auftraggeber" erfragen kannst? Dann könntest du auch auf das eingrenzen, was die performance sicher drastisch verbessern würde.&lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 11:15:36 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858321.html#4858321</guid>
      <dc:creator>Dr. Watson</dc:creator>
      <dc:date>2008-06-16T11:15:36Z</dc:date>
    </item>
    <item>
      <title>Re(5): SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858319.html#4858319</link>
      <description>Naja, "einfach" ist gut - wegen deinem Count muss die DB sowieso physikalisch die komplette Tabelle (9,5 Millionen Zeilen lt. deinen angaben) durchwetzen, und das dauert nun mal seine Zeit. &lt;br&gt;&lt;br&gt;Ich sehe das Problem ganz einfach in der Planung - den Fall "einzelne mega tabelle" und "abteilung x braucht spezielle daten" hätte man sich vorher überlegen müssen.&lt;br&gt;&lt;br&gt;Für solche Fälle (extrem viele Zeilen) hätte (unter PostgreSQL) Tabellen Partitionierung verwendet, die Tabellen damit nach Monaten (oder sogar weniger, je nach Menge) aufgeteilt, und jeder zeile ein created Datum gegeben, auf dieses einen Index setzen und diesen clustern. &lt;br&gt;&lt;br&gt;Hat dann nicht nur den Vorteil, dass die abfragen extrem schnell sind, weil du keine mega-großen indizes hast, sondern auch die Wartung ist schneller, weil eben nicht bei jedem update / insert / delete ein mega-großer index aktualisiert werden muss.&lt;br&gt;&lt;br&gt;Kann jetzt natürlich nur raten, aber diese 160.000 Ids müssen doch auch irgendwo her kommen - gibt es für die z.b. ein zeitliches Kriterium, das du von deinem "Auftraggeber" erfragen kannst? Dann könntest du auch auf das eingrenzen, was die performance sicher drastisch verbessern würde.&lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 11:15:36 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858319.html#4858319</guid>
      <dc:creator>Dr. Watson</dc:creator>
      <dc:date>2008-06-16T11:15:36Z</dc:date>
    </item>
    <item>
      <title>Re(4): SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858297.html#4858297</link>
      <description>&lt;blockquote&gt;Naja, wenn das Query selbst schon 2 Stunden gelaufen ist, war das mit dem analyze doch keine so gute Idee. Normales Explain sollte erst mal reichen.&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;ich habs jetzt nach 7 Minuten abgebrochen - scheint also auch ned wirklich weiter zu helfen - trotzdem danke!&lt;br&gt;&lt;br&gt;hm ich glaub ja nicht, dass es ein Hardware-Problem ist (DB-Server hat ca. 12 GHz und RAM haben wir auch 10GB zugewiesen ... also muss es wohl an der Abfrage liegen ... aber ich hab echt keinen Plan, wie ich so eine - eh schon einfache - Abfrage einfacher gestalten könnte!&lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 11:03:43 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858297.html#4858297</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-06-16T11:03:43Z</dc:date>
    </item>
    <item>
      <title>Re(6): SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858293.html#4858293</link>
      <description>ich hab ja die 160.000 IDs sogar schon index-like sortiert, damit er nicht herumsuchen muss, aber trotzdem hatte ich nach 2 Stunden noch kein Ergebnis &lt;img src="schief.gif" width="16" height="19" align="absmiddle" alt=":-/"/&gt;&lt;br&gt;&lt;br&gt;glaubst macht es einen Unterschied, wenn ich die 160.000 IDs in eine temporäre Tabelle importiere und diese dann per Subquery exkludiere?&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 11:01:12 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858293.html#4858293</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-06-16T11:01:12Z</dc:date>
    </item>
    <item>
      <title>Re(3): SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858286.html#4858286</link>
      <description>Kein Problem, danke.&lt;br&gt;&lt;br&gt;Naja, wenn das Query selbst schon 2 Stunden gelaufen ist, war das mit dem analyze doch keine so gute Idee. Normales Explain sollte erst mal reichen.&lt;br&gt;&lt;br&gt;Sags aber gleich dazu, MS-SQL ist nicht mein Gebiet, also bevor du deine Arbeitszeit verschwendest um mir ein explain zu posten...&lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 10:59:17 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858286.html#4858286</guid>
      <dc:creator>Dr. Watson</dc:creator>
      <dc:date>2008-06-16T10:59:17Z</dc:date>
    </item>
    <item>
      <title>Re(2): SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858272.html#4858272</link>
      <description>&lt;blockquote&gt;Also schön langsam nervts wenn man immer fragen muss, um welche Datenbank es sich überhaupt handelt.&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;sorry, bin auch nur ein Mensch und deshalb nicht unfehlbar!&lt;br&gt;&lt;br&gt;btw. es ist eine MS SQL2005-DB!&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;Poste mal was der Planner sagt, wenn du ein explain analyze machst.&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;läuft grad ... ich schreib dann das Ergebnis, sofern es in einer angemessen Zeit kommt!&lt;br&gt;&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 10:55:42 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858272.html#4858272</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-06-16T10:55:42Z</dc:date>
    </item>
    <item>
      <title>Re(5): SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858267.html#4858267</link>
      <description>Im Prinzip ein umgekehrtes Inner Join, ja ... &lt;br&gt;&lt;br&gt;Es kommt halt drauf an was der DB Optimizer macht, vielleicht findet er nur keine brauchbare Lösung. &lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 10:54:06 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858267.html#4858267</guid>
      <dc:creator>Somnatic</dc:creator>
      <dc:date>2008-06-16T10:54:06Z</dc:date>
    </item>
    <item>
      <title>Re: SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858261.html#4858261</link>
      <description>Also schön langsam nervts wenn man immer fragen muss, um welche Datenbank es sich überhaupt handelt. Poste mal was der Planner sagt, wenn du ein explain analyze machst. Wenn die DB das kann.&lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 10:50:54 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858261.html#4858261</guid>
      <dc:creator>Dr. Watson</dc:creator>
      <dc:date>2008-06-16T10:50:54Z</dc:date>
    </item>
    <item>
      <title>Re: SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858259.html#4858259</link>
      <description>Also schön langsam nervts wenn man immer fragen muss, um welche Datenbank es sich überhaupt handelt.&lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 10:50:54 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858259.html#4858259</guid>
      <dc:creator>Dr. Watson</dc:creator>
      <dc:date>2008-06-16T10:50:54Z</dc:date>
    </item>
    <item>
      <title>Re(4): SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858236.html#4858236</link>
      <description>schau ich mir nach dem Essen an &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt;&lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 10:39:22 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858236.html#4858236</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-06-16T10:39:22Z</dc:date>
    </item>
    <item>
      <title>Re(4): SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858258.html#4858258</link>
      <description>schau ich mir nach dem Essen an &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt;&lt;br&gt;&lt;br&gt;edit&lt;br&gt;&lt;br&gt;du meinst also, ich solls einfach mit einem Inner Join probieren?&lt;br&gt;&lt;br&gt;edit 2&lt;br&gt;&lt;br&gt;hm ich glaub, das macht wenig Sinn, da ich ja die Tabellen irgendwie joinen muss und ob ich jetzt die 160.000 IDs mit einem Join exkludiere oder nicht, macht ja im Endeffekt keinen Unterschied!&lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 10:39:22 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858258.html#4858258</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-06-16T10:39:22Z</dc:date>
    </item>
    <item>
      <title>Re(4): SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858249.html#4858249</link>
      <description>schau ich mir nach dem Essen an &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt;&lt;br&gt;&lt;br&gt;edit&lt;br&gt;&lt;br&gt;du meinst also, ich solls einfach mit einem Inner Join probieren?&lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 10:39:22 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858249.html#4858249</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-06-16T10:39:22Z</dc:date>
    </item>
    <item>
      <title>Re(3): SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858217.html#4858217</link>
      <description>Kanns sein dass der Optimizer mit dem Where not in nicht gut umgehen kann? Könntest da evtl. wirklich das Kreuzprodukt machen?&lt;br&gt;Sprich ein&lt;br&gt;select count(*)&lt;br&gt;from tabelle1, tabelle2&lt;br&gt;where&lt;br&gt;&amp;nbsp;&amp;nbsp;tabelle1.id != tabelle2.id and&lt;br&gt;&amp;nbsp;&amp;nbsp;tabelle1.irgendwas = x and&lt;br&gt;&amp;nbsp;&amp;nbsp;tabelle2.irgendwo = y&lt;br&gt;&lt;br&gt;&lt;br&gt;oder geht das mit dem != nicht? Sprich: Funktioniert die Verbundbedingung so nicht?&lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 10:34:47 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858217.html#4858217</guid>
      <dc:creator>Somnatic</dc:creator>
      <dc:date>2008-06-16T10:34:47Z</dc:date>
    </item>
    <item>
      <title>Re(2): SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858181.html#4858181</link>
      <description>&lt;blockquote&gt;So wie es da steht: Mehr RAM &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";)"/&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;noch mehr? der Server hat eh schon 10GB &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt;&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;Ein Kreuzprodukt über eine derartige Anzahl von Feldern ist krank &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";)"/&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;das steht außer Frage, aber die Anforderung kommt vom Verkauf und ich muss es halt irgendwie lösen!&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;Woher kommen denn die 160k IDs?&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;ist ebenfalls eine Anforderung, dass diese IDs exkludiert werden!&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;Wie lange dauert die Anfrage ohne das "Where not in .." ?&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;1 Sekunde &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt;&lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 10:15:47 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858181.html#4858181</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-06-16T10:15:47Z</dc:date>
    </item>
    <item>
      <title>Re: SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858163.html#4858163</link>
      <description>So wie es da steht: Mehr RAM &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";)"/&gt;&lt;br&gt;Ein Kreuzprodukt über eine derartige Anzahl von Feldern ist krank &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";)"/&gt;&lt;br&gt;&lt;br&gt;Woher kommen denn die 160k IDs? Wie lange dauert die Anfrage ohne das "Where not in .." ?&lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 10:07:34 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858163.html#4858163</guid>
      <dc:creator>Somnatic</dc:creator>
      <dc:date>2008-06-16T10:07:34Z</dc:date>
    </item>
    <item>
      <title>SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858235.html#4858235</link>
      <description>Hallo ... ich brauch eine kleine Abfrage, allerdings läuft sie nicht mit der Performance, die ich gerne hätte!&lt;br&gt;&lt;br&gt;select count(*)&lt;br&gt;from tabelle&lt;br&gt;where aktiv=1 &lt;i&gt;--0 u. 1 erlaubt&lt;/i&gt;&lt;br&gt;and blabla=1 &lt;i&gt;--0 u. 1 erlaubt&lt;/i&gt;&lt;br&gt;and uniqueid not in (&lt;i&gt;160.000 IDs aufgelistet&lt;/i&gt;)&lt;br&gt;&lt;br&gt;najo ingesamt umfasst die Tabelle 9.5 Mio. IDs ... jetzt hab ich die Abfrage nach 2 Stunden abgebrochen, weils ma einfach zblöd geworden ist!&lt;br&gt;&lt;br&gt;habt ihr eine Idee, wie ich die Abfrage performanter gestalten könnte?&lt;br&gt;&lt;br&gt;in erster Linie reicht mir das Ergebnis mit count, in zweiter Linie bräucht ich natürlich die unique id's als Ergebnis!&lt;br&gt;&lt;br&gt;edit&lt;br&gt;&lt;br&gt;Schande über mein Haupt, die ID ist ja gar nicht unique, sondern wird es nur durch die Einschränkung aktiv=1&lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 09:45:36 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858235.html#4858235</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-06-16T09:45:36Z</dc:date>
    </item>
    <item>
      <title>SQL: Query performanter machen</title>
      <link>http://forum.geizhals.at/t576679,4858120.html#4858120</link>
      <description>Hallo ... ich brauch eine kleine Abfrage, allerdings läuft sie nicht mit der Performance, die ich gerne hätte!&lt;br&gt;&lt;br&gt;select count(*)&lt;br&gt;from tabelle&lt;br&gt;where aktiv=1 &lt;i&gt;--0 u. 1 erlaubt&lt;/i&gt;&lt;br&gt;and blabla=1 &lt;i&gt;--0 u. 1 erlaubt&lt;/i&gt;&lt;br&gt;and uniqueid not in (&lt;i&gt;160.000 IDs aufgelistet&lt;/i&gt;)&lt;br&gt;&lt;br&gt;najo ingesamt umfasst die Tabelle 9.5 Mio. IDs ... jetzt hab ich die Abfrage nach 2 Stunden abgebrochen, weils ma einfach zblöd geworden ist!&lt;br&gt;&lt;br&gt;habt ihr eine Idee, wie ich die Abfrage performanter gestalten könnte?&lt;br&gt;&lt;br&gt;in erster Linie reicht mir das Ergebnis mit count, in zweiter Linie bräucht ich natürlich die unique id's als Ergebnis!&lt;br/&gt;</description>
      <pubDate>Mon, 16 Jun 2008 09:45:36 GMT</pubDate>
      <guid>http://forum.geizhals.at/t576679,4858120.html#4858120</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-06-16T09:45:36Z</dc:date>
    </item>
  </channel>
</rss>
