<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
    <link>http://forum.geizhals.at/feed.jsp?id=597838</link>
    <description>Geizhals-Forum</description>
    <item>
      <title>Re(12): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5426286.html#5426286</link>
      <description>da ich wieder mal vor diesem Problem stehe, gibts jetzt ein kleines Update:&lt;br&gt;&lt;br&gt;Ausgangssituation:&lt;br&gt;&lt;br&gt;uniqueid, text, lfdnr&lt;br&gt;&lt;br&gt;seit SQL2005 gibt es die Funktion HASHBYTES, mit der man mit verschiedenen Algorithmen (MD5 etc.) VARBINARY-Hashes generieren lassen kann ...&lt;br&gt;&lt;br&gt;also erstell ich jetzt einfach eine temp-table und vergleich dann in dieser die MD5Hashes! bei 6 Mio. Datensätze dauert das erstellen der Table zwar auch noch eine Weile, aber besser als ein self join auf CONVERT(VARCHAR(8000), text)) &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt;&lt;br/&gt;</description>
      <pubDate>Thu, 16 Apr 2009 08:54:10 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5426286.html#5426286</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2009-04-16T08:54:10Z</dc:date>
    </item>
    <item>
      <title>Re(5): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5078456.html#5078456</link>
      <description>Ich denke den Convert mußt gar nicht explizit angeben, daher halt ichs für schneller.&lt;br&gt;&lt;br&gt;Mit der, den Temp Table(s) kannst besser die Ergebnisse besser kontrollieren, der Ablauf wird zeitlich überschaubarer und du hast sichere Zwischenschritte. Ein Rollback von mehreren Millionen Zeilen ist eher nicht so lustig. &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";)"/&gt;&lt;br/&gt;</description>
      <pubDate>Tue, 14 Oct 2008 19:27:47 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5078456.html#5078456</guid>
      <dc:creator>Xane</dc:creator>
      <dc:date>2008-10-14T19:27:47Z</dc:date>
    </item>
    <item>
      <title>Re(5): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5078527.html#5078527</link>
      <description>Ich denke den Convert mußt gar nicht explizit angeben, daher halt ichs für schneller.&lt;br&gt;&lt;br&gt;Mit der, den Temp Table(s) kannst die Ergebnisse besser kontrollieren, der Ablauf wird zeitlich überschaubarer und du hast sichere Zwischenschritte. Ein Rollback von mehreren Millionen Zeilen ist eher nicht so lustig. &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";)"/&gt;&lt;br/&gt;</description>
      <pubDate>Tue, 14 Oct 2008 19:27:47 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5078527.html#5078527</guid>
      <dc:creator>Xane</dc:creator>
      <dc:date>2008-10-14T19:27:47Z</dc:date>
    </item>
    <item>
      <title>Re(4): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5078419.html#5078419</link>
      <description>ah hoppala ... du meintest ja group by in der temptable ... naja nichts desto trotz macht es ja keinen Unterschied, ob ich ein convert innerhalb einer select-Abfrage mach oder ob ich eine temptable mit den selben Parametern generiere - oder täusch ich mich?&lt;br/&gt;</description>
      <pubDate>Tue, 14 Oct 2008 19:21:36 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5078419.html#5078419</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-10-14T19:21:36Z</dc:date>
    </item>
    <item>
      <title>Re(3): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5078330.html#5078330</link>
      <description>Also doch, Du hast mein Posting nicht gelesen / verstanden. &lt;img src="schief.gif" width="16" height="19" align="absmiddle" alt=":-/"/&gt;&lt;br&gt;Schade. Viel Glück mit deinem convert. &lt;img src="crazy.gif" width="16" height="19" align="absmiddle" alt="%-)"/&gt;&lt;br/&gt;</description>
      <pubDate>Tue, 14 Oct 2008 19:00:11 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5078330.html#5078330</guid>
      <dc:creator>Xane</dc:creator>
      <dc:date>2008-10-14T19:00:11Z</dc:date>
    </item>
    <item>
      <title>Re(2): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5078314.html#5078314</link>
      <description>wäre an sich eine Möglichkeit, wenn group by text möglich wäre ... ist es aber leider nicht!&lt;br&gt;&lt;br&gt;ich werd wahrscheinlich einfach nur einen self join mit convert in nvarchar machen ... eine top 100 Abfrage dauert ja nur ca. 5min (4x2,66GHz Xeon, 14GB RAM) ... mal schauen, wie lang ich für den ganzen delete-Befehl brauchen werd &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt; (laut count sind es ca. 2 Mio. doppelte Datensätze)&lt;br/&gt;</description>
      <pubDate>Tue, 14 Oct 2008 18:54:48 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5078314.html#5078314</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-10-14T18:54:48Z</dc:date>
    </item>
    <item>
      <title>Re(12): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5078306.html#5078306</link>
      <description>weil ich deine Lösung noch nicht genau durchdacht hatte ... momentan ist es @ work echt a bissl zu viel des guten!&lt;br/&gt;</description>
      <pubDate>Tue, 14 Oct 2008 18:51:35 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5078306.html#5078306</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-10-14T18:51:35Z</dc:date>
    </item>
    <item>
      <title>Re(11): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5078292.html#5078292</link>
      <description>Jetzt frag ich mich aber, warum du auf meine Lösung nicht reagierst, meine Antwort deckt doch genau dein Problem ab. Wars nicht deutlich genug? &lt;img src="frage.gif" width="16" height="26" align="absmiddle" alt="?-)"/&gt;&lt;br/&gt;</description>
      <pubDate>Tue, 14 Oct 2008 18:41:08 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5078292.html#5078292</guid>
      <dc:creator>Xane</dc:creator>
      <dc:date>2008-10-14T18:41:08Z</dc:date>
    </item>
    <item>
      <title>Re(10): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5077640.html#5077640</link>
      <description>der Aufbau der Tabelle ist wie folgt:&lt;br&gt;&lt;br&gt;ID, Datum, Text, Aktiv, lfdNr&lt;br&gt;&lt;br&gt;zB:&lt;br&gt;&lt;br&gt;1, 01.01.2000, bla, 1, 1&lt;br&gt;1, 01.01.2001, bla, 0, 2&lt;br&gt;2, 01.05.2007, bla, 1, 3&lt;br&gt;2, 01.07.2007, blabla, 0, 4&lt;br&gt;&lt;br&gt;also hier würde zB die lfdNr 1 oder 2 raus gelöscht werden!&lt;br/&gt;</description>
      <pubDate>Tue, 14 Oct 2008 12:51:29 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5077640.html#5077640</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-10-14T12:51:29Z</dc:date>
    </item>
    <item>
      <title>Re(9): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5077475.html#5077475</link>
      <description>Beispiel folgende Spalten:&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;Index,&lt;br&gt;&amp;nbsp;&amp;nbsp;Wert1,&lt;br&gt;&amp;nbsp;&amp;nbsp;Textfeld (das auf doppelte zu checkende),&lt;br&gt;&amp;nbsp;&amp;nbsp;Wert2,&lt;br&gt;&amp;nbsp;&amp;nbsp;Änderer,&lt;br&gt;&amp;nbsp;&amp;nbsp;etc.&lt;br&gt;&lt;br&gt;1 , 200, Blöder Text, 300, Michi&lt;br&gt;2 ,&amp;nbsp;&amp;nbsp; 0, Doppelter Text, 400, Gretl&lt;br&gt;3 ,&amp;nbsp;&amp;nbsp;12, Irgendwas, 400, Gretl&lt;br&gt;4 , 300, Doppelter Text, 10, Lisl&lt;br&gt;&lt;br&gt;&lt;br&gt;Wenn du nun die doppelten Sätze (mit dem identischen Textfeld z.B. "Doppelter Text") unwillkürlich rausschmeisst verlierst du die Informationen des gelöschten Satzes (bspw. Wert1, Wert2, Änderer). Also ist nun Satz #2 oder Satz #4 korrekt - d.h. welchen haust du raus?&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;&lt;em&gt; haben wir, aber der hilft mir nicht beim Analysieren der Daten!&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;??? wie können dann Duplikate drin sein ???&lt;br/&gt;</description>
      <pubDate>Tue, 14 Oct 2008 11:37:26 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5077475.html#5077475</guid>
      <dc:creator>ruprecht69</dc:creator>
      <dc:date>2008-10-14T11:37:26Z</dc:date>
    </item>
    <item>
      <title>Re(8): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5077410.html#5077410</link>
      <description>&lt;blockquote&gt;Wozu willst du Joinen für ein Group by?&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;will ich ja nicht, ich wollts ja ursprünglich mit einem self join vergleichen!&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;Welcher der beiden Datensätze mit der einen übereinstimmenden Spalte ist denn nun der richtige?&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;es handelt sich um die gleiche Spalte (self join)&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;Anonsten empfehle ich dir für solche Fälle in Zukunft einen unique Key&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;haben wir, aber der hilft mir nicht beim Analysieren der Daten!&lt;br/&gt;</description>
      <pubDate>Tue, 14 Oct 2008 11:12:12 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5077410.html#5077410</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-10-14T11:12:12Z</dc:date>
    </item>
    <item>
      <title>Re(9): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5077394.html#5077394</link>
      <description>Like ist so ziemlich das unperformanteste was du einer DB antun kannst - abgesehen von nicht vorhandenen Indizes.&lt;br/&gt;</description>
      <pubDate>Tue, 14 Oct 2008 11:07:11 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5077394.html#5077394</guid>
      <dc:creator>ruprecht69</dc:creator>
      <dc:date>2008-10-14T11:07:11Z</dc:date>
    </item>
    <item>
      <title>Re(7): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5077388.html#5077388</link>
      <description>Wozu willst du Joinen für ein Group by?&lt;br&gt;&lt;br&gt;Ich glaub da hast auch ein bissle eine semantische Krux. Welcher der beiden Datensätze mit der einen übereinstimmenden Spalte ist denn nun der richtige? D.h. automatisch aussortieren wird schwierig/falsche Ergebnisse hinterlassen.&lt;br&gt;&lt;br&gt;Anonsten empfehle ich dir für solche Fälle in Zukunft einen unique Key.&lt;br/&gt;</description>
      <pubDate>Tue, 14 Oct 2008 11:04:58 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5077388.html#5077388</guid>
      <dc:creator>ruprecht69</dc:creator>
      <dc:date>2008-10-14T11:04:58Z</dc:date>
    </item>
    <item>
      <title>Re: MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5076236.html#5076236</link>
      <description>Hmm ... gibts echt ein Problem mit Text?&lt;br&gt;&lt;br&gt;Dann mach dir eine Temp Table mit einem nvarchar (und falls notwendig mit primary key Feldern) und insert alle Zeilen der Text Spalte.&lt;br&gt;&lt;br&gt;Danach kannst auf die Temp Table Spalte gruppieren.&lt;br&gt;&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Mon, 13 Oct 2008 18:27:58 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5076236.html#5076236</guid>
      <dc:creator>Xane</dc:creator>
      <dc:date>2008-10-13T18:27:58Z</dc:date>
    </item>
    <item>
      <title>Re: MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5076253.html#5076253</link>
      <description>Hmm ... gibts echt ein Problem mit Text?&lt;br&gt;&lt;br&gt;Dann mach dir eine TempTable mit einem nvarchar2 (und falls notwendig mit PrimaryKey Feld) und insert alle Zeilen der Text Spalte.&lt;br&gt;&lt;br&gt;Danach kannst auf die TempTable.nvarchar2 Spalte gruppieren.&lt;br&gt;&lt;br&gt;&lt;br&gt;Falls du unique Zeilen in der BigTable haben willst:&lt;br&gt;&lt;br&gt;select Min(PrimaryKey) into TempTable2&lt;br&gt;from TempTable&lt;br&gt;group by text&lt;br&gt;&lt;br&gt;delete from BigTable&lt;br&gt;where PrimaryKey not in (select PrimaryKey from TempTable2)&lt;br/&gt;</description>
      <pubDate>Mon, 13 Oct 2008 18:27:58 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5076253.html#5076253</guid>
      <dc:creator>Xane</dc:creator>
      <dc:date>2008-10-13T18:27:58Z</dc:date>
    </item>
    <item>
      <title>Re(12): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5076223.html#5076223</link>
      <description>Ui, der Aufwand ... &lt;br&gt;n * lesen&lt;br&gt;n * mit n Zeilen vergleichen&lt;br&gt;&lt;br&gt;&gt; ∑n² ? &lt;img src="cry.gif" width="16" height="19" align="absmiddle" alt=":~("/&gt;&lt;br/&gt;</description>
      <pubDate>Mon, 13 Oct 2008 18:24:54 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5076223.html#5076223</guid>
      <dc:creator>Xane</dc:creator>
      <dc:date>2008-10-13T18:24:54Z</dc:date>
    </item>
    <item>
      <title>Re(12): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5076341.html#5076341</link>
      <description>Ui, der Aufwand ... &lt;br&gt;n * lesen&lt;br&gt;n * mit n Zeilen vergleichen&lt;br&gt;&lt;br&gt;&gt; n² ? &lt;img src="cry.gif" width="16" height="19" align="absmiddle" alt=":~("/&gt;&lt;br/&gt;</description>
      <pubDate>Mon, 13 Oct 2008 18:24:54 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5076341.html#5076341</guid>
      <dc:creator>Xane</dc:creator>
      <dc:date>2008-10-13T18:24:54Z</dc:date>
    </item>
    <item>
      <title>Re(12): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5068196.html#5068196</link>
      <description>hm klingt auch nicht grad blöd ... werd ich mir auf jeden Fall mal durch den Kopf gehen lassen!&lt;br&gt;&lt;br&gt;vielen Dank!&lt;br/&gt;</description>
      <pubDate>Fri, 10 Oct 2008 07:22:12 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5068196.html#5068196</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-10-10T07:22:12Z</dc:date>
    </item>
    <item>
      <title>Re(11): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5068164.html#5068164</link>
      <description>ich würds russisch machen. &lt;br&gt;&lt;br&gt;1. temp table anlegen&lt;br&gt;2. md5-hash für jedes feld berechnen und in temp table schreiben &lt;br&gt;3. vor jeden schreiben in die temp table checken ob der hash wert schon vorhanden ist. wenn ja =&gt; löschen in der text-tabelle, nein =&gt; schreiben in die temptable.&lt;br&gt;&lt;br&gt;programmiert ist sowas relativ schnell. und wenns programm etwas länger läuft, ist doch wurscht. am freitag nachmittag gestartet, am montag wirds schon durch sein. wenn nicht, dann halt nächstes we wieder laufen lassen.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;PS: nicht vergessen vorher zu sichern! &lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Fri, 10 Oct 2008 07:02:25 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5068164.html#5068164</guid>
      <dc:creator>weisnet</dc:creator>
      <dc:date>2008-10-10T07:02:25Z</dc:date>
    </item>
    <item>
      <title>Re(10): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5066396.html#5066396</link>
      <description>&lt;blockquote&gt;Warum änderst du nicht einfach die Spalte in nvarchar?&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;ich kenne die Quellcodes der Programme, die auf diese Spalte zugreifen, nicht auswendig ... vielleicht benötigt ja irgendeines explizit den Datentyp text! &lt;br&gt;&lt;br&gt;&lt;blockquote&gt;Leider nicht, da braucht man wohl eine MS SQL-spezifische Sonderlösung, wenn es überhaupt eine bessere gibt als manuelles Aussortieren der Duplikate...&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;manuell aussortieren stell ich mir bei 10 Mio. Datensätze ziemlich zach vor ... hm meine Idee war auch, dass ich die Tabelle extrahiere und mit einem externen Programm vergleiche ... aber das war nur ein Ansatz ... keine Ahnung, wie und womit ich das umsetzen könnte! die Datenmenge ist halt leider enorm ...&lt;br/&gt;</description>
      <pubDate>Thu, 09 Oct 2008 08:46:22 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5066396.html#5066396</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-10-09T08:46:22Z</dc:date>
    </item>
    <item>
      <title>Re(10): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5066423.html#5066423</link>
      <description>&lt;blockquote&gt;Warum änderst du nicht einfach die Spalte in nvarchar?&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;ich kenne die Quellcodes der Programme, die auf diese Spalte zugreifen, nicht auswendig ... vielleicht benötigt ja irgendeines explizit den Datentyp text! &lt;br&gt;&lt;br&gt;&lt;blockquote&gt;Leider nicht, da braucht man wohl eine MS SQL-spezifische Sonderlösung, wenn es überhaupt eine bessere gibt als manuelles Aussortieren der Duplikate...&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;manuell aussortieren stell ich mir bei 10 Mio. Datensätze ziemlich zach vor ... hm meine Idee war auch, dass ich die Tabelle extrahiere und mit einem externen Programm vergleiche ... aber das war nur ein Ansatz ... keine Ahnung, wie und womit ich das umsetzen könnte! die Datenmenge ist halt leider enorm ...&lt;br&gt;&lt;br&gt;exec sp_spaceused liefert folgendes&lt;br&gt;&lt;br&gt;rows 10822133&lt;br&gt;reserved 3865864 KB&lt;br&gt;data 2548856 KB&lt;br&gt;index_size 1303552 KB&lt;br&gt;unused 13456 KB&lt;br&gt;&lt;br&gt;wenn ich die Tabelle sauber bereinige, haben wir sicher gleich mal 1 - 1,5GB gewonnen - also das zu schaffen, würd sich schon auszahlen!&lt;br/&gt;</description>
      <pubDate>Thu, 09 Oct 2008 08:46:22 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5066423.html#5066423</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-10-09T08:46:22Z</dc:date>
    </item>
    <item>
      <title>Re(10): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5066394.html#5066394</link>
      <description>&lt;blockquote&gt;Warum änderst du nicht einfach die Spalte in nvarchar?&amp;lt;/blockquote&lt;&lt;br&gt;&lt;br&gt;ich kenne die Quellcodes der Programme, die auf diese Spalte zugreifen, nicht auswendig ... vielleicht benötigt ja irgendeines explizit den Datentyp text! &lt;br&gt;&lt;br&gt;&lt;blockquote/&gt;Leider nicht, da braucht man wohl eine MS SQL-spezifische Sonderlösung, wenn es überhaupt eine bessere gibt als manuelles Aussortieren der Duplikate...&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;manuell aussortieren stell ich mir bei 10 Mio. Datensätze ziemlich zach vor ... hm meine Idee war auch, dass ich die Tabelle extrahiere und mit einem externen Programm vergleiche ... aber das war nur ein Ansatz ... keine Ahnung, wie und womit ich das umsetzen könnte! die Datenmenge ist halt leider enorm ...&lt;br/&gt;</description>
      <pubDate>Thu, 09 Oct 2008 08:46:22 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5066394.html#5066394</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-10-09T08:46:22Z</dc:date>
    </item>
    <item>
      <title>Re(9): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5066385.html#5066385</link>
      <description>&lt;blockquote&gt;&lt;em&gt; ja, ich nutze 2005 ... aber worin besteht jetzt performancemäßig der Unterschied, ob ich text mit like vergleiche oder ob ich Text vorher noch konvertiere und ihn dann mit = vergleiche?&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;Warum änderst du nicht einfach die Spalte in nvarchar?&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;&lt;em&gt; fällt dir sonst noch eine Möglichkeit ein?&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;Leider nicht, da braucht man wohl eine MS SQL-spezifische Sonderlösung, wenn es überhaupt eine bessere gibt als manuelles Aussortieren der Duplikate...&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Thu, 09 Oct 2008 08:41:17 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5066385.html#5066385</guid>
      <dc:creator>mjy@geizhals.at</dc:creator>
      <dc:date>2008-10-09T08:41:17Z</dc:date>
    </item>
    <item>
      <title>Re(8): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5066383.html#5066383</link>
      <description>&lt;blockquote&gt;&lt;br&gt;If you are using SQL 2005, change it to nvarchar(max).&lt;br&gt;&lt;br&gt;The text/ntext datatypes are being deprecated and must be converted to varchar(max)/nvarchar(max).&lt;br&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;ja, ich nutze 2005 ... aber worin besteht jetzt performancemäßig der Unterschied, ob ich text mit like vergleiche oder ob ich Text vorher noch konvertiere und ihn dann mit = vergleiche?&lt;br&gt;&lt;br&gt;beides ist möglich, steht außer Frage - aber ist es wirklich performanter, wenn ich noch 2 converts einbaue? ich glaub kaum &lt;img src="schief.gif" width="16" height="19" align="absmiddle" alt=":-/"/&gt;&lt;br&gt;&lt;br&gt;trotzdem vielen Dank! fällt dir sonst noch eine Möglichkeit ein?&lt;br/&gt;</description>
      <pubDate>Thu, 09 Oct 2008 08:39:42 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5066383.html#5066383</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-10-09T08:39:42Z</dc:date>
    </item>
    <item>
      <title>Re(7): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5066367.html#5066367</link>
      <description>&lt;blockquote&gt;&lt;em&gt; dass man auf Text-Datentypen ja gar nicht joinen kann&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;Das ist aber eine miese DB &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt;&lt;br&gt;&lt;br&gt;&lt;pre&gt;&lt;br&gt;Re: HOW-TO Change "text" column to "ntext" that is NOT NULL&lt;br&gt;Arnie Rowland&lt;br&gt;&lt;br&gt;&lt;br&gt;If you are using SQL 2005, change it to nvarchar(max).&lt;br&gt;&lt;br&gt;The text/ntext datatypes are being deprecated and must be converted to varchar(max)/nvarchar(max).&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Top&lt;br&gt;Re: HOW-TO Change "text" column to "ntext" that is NOT NULL&lt;br&gt;Manivannan.D.Sekaran&lt;br&gt;&lt;br&gt;In SQL Server 2000, you can't modify the text column datatype.&lt;br&gt;&lt;br&gt;But there is a workaround available..&lt;br&gt;&lt;br&gt;Code Snippet&lt;br&gt;&lt;br&gt;IF EXISTS(SELECT * FROM dbo.tablename)&lt;br&gt;&lt;br&gt;SELECT othercolumns,Cast(colname as Ntext) as colname INTO dbo.Tmp_tablename FROM dbo.tablename TABLOCKX&lt;br&gt;&lt;br&gt;go&lt;br&gt;&lt;br&gt;DROP TABLE dbo.tablename&lt;br&gt;&lt;br&gt;go&lt;br&gt;&lt;br&gt;EXECUTE sp_rename N'dbo.Tmp_tablename', N'tablename', 'OBJECT'&lt;br&gt;&lt;/pre&gt;&lt;br&gt;&lt;br&gt;usw. &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt;&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Thu, 09 Oct 2008 08:31:09 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5066367.html#5066367</guid>
      <dc:creator>mjy@geizhals.at</dc:creator>
      <dc:date>2008-10-09T08:31:09Z</dc:date>
    </item>
    <item>
      <title>Re(6): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5066355.html#5066355</link>
      <description>aaaaah da fallt mir ja grad ein, dass man auf Text-Datentypen ja gar nicht joinen kann ... wie hab ich dann das bloß vorige Woche gemacht *grübel*&lt;br&gt;&lt;br&gt;ja Index liegt drauf ...&lt;br&gt;&lt;br&gt;edit&lt;br&gt;&lt;br&gt;demzufolge geht natürlich dein Statement auch nicht:&lt;br&gt;&lt;br&gt;Msg 306, Level 16, State 2, Line 1&lt;br&gt;Die Datentypen 'text', 'ntext' und 'image' können nur mithilfe des Operators IS NULL oder LIKE verglichen oder sortiert werden.&lt;br/&gt;</description>
      <pubDate>Thu, 09 Oct 2008 08:24:51 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5066355.html#5066355</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-10-09T08:24:51Z</dc:date>
    </item>
    <item>
      <title>Re(6): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5066353.html#5066353</link>
      <description>aaaaah da fallt mir ja grad ein, dass man auf Text-Datentypen ja gar nicht joinen kann ... wie hab ich dann das bloß vorige Woche gemacht *grübel*&lt;br&gt;&lt;br&gt;ja Index liegt drauf ...&lt;br/&gt;</description>
      <pubDate>Thu, 09 Oct 2008 08:24:51 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5066353.html#5066353</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-10-09T08:24:51Z</dc:date>
    </item>
    <item>
      <title>Re(6): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5066358.html#5066358</link>
      <description>aaaaah da fallt mir ja grad ein, dass man auf Text-Datentypen ja gar nicht joinen kann ... wie hab ich dann das bloß vorige Woche gemacht *grübel*&lt;br&gt;&lt;br&gt;ja Index liegt drauf ...&lt;br&gt;&lt;br&gt;edit&lt;br&gt;&lt;br&gt;demzufolge geht natürlich dein Statement auch nicht:&lt;br&gt;&lt;br&gt;Msg 306, Level 16, State 2, Line 1&lt;br&gt;Die Datentypen 'text', 'ntext' und 'image' können nur mithilfe des Operators IS NULL oder LIKE verglichen oder sortiert werden.&lt;br&gt;&lt;br&gt;edit 2&lt;br&gt;&lt;br&gt;hm ich darf keinen Vergleich mit = machen sondern muss den join mit like setzen! naja nichts desto trotz wird diese Abfrage sicher einige Stunden laufen - ergo ist es keine Lösung &lt;img src="sad.gif" width="16" height="19" align="absmiddle" alt=":("/&gt;&lt;br/&gt;</description>
      <pubDate>Thu, 09 Oct 2008 08:24:51 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5066358.html#5066358</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-10-09T08:24:51Z</dc:date>
    </item>
    <item>
      <title>Re(6): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5066359.html#5066359</link>
      <description>aaaaah da fallt mir ja grad ein, dass man auf Text-Datentypen ja gar nicht joinen kann ... wie hab ich dann das bloß vorige Woche gemacht *grübel*&lt;br&gt;&lt;br&gt;ja Index liegt drauf ...&lt;br&gt;&lt;br&gt;edit&lt;br&gt;&lt;br&gt;demzufolge geht natürlich dein Statement auch nicht:&lt;br&gt;&lt;br&gt;Msg 306, Level 16, State 2, Line 1&lt;br&gt;Die Datentypen 'text', 'ntext' und 'image' können nur mithilfe des Operators IS NULL oder LIKE verglichen oder sortiert werden.&lt;br&gt;&lt;br&gt;edit 2&lt;br&gt;&lt;br&gt;hm ich darf keinen Vergleich mit = machen sondern muss den join mit like setzen! naja nichts desto trotz wird diese Abfrage sicher einige Stunden laufen - ergo ist es keine Lösung &lt;img src="sad.gif" width="16" height="19" align="absmiddle" alt=":("/&gt;&lt;br&gt;&lt;br&gt;edit 3&lt;br&gt;&lt;br&gt;hoppala, auf die Text-Spalte liegt doch kein Index ... hm dann werd ich mal am Test-Server einen Index setzen und nochmals die Query starten ... mal schauen, obs performanter wird!&lt;br/&gt;</description>
      <pubDate>Thu, 09 Oct 2008 08:24:51 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5066359.html#5066359</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-10-09T08:24:51Z</dc:date>
    </item>
    <item>
      <title>Re(6): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5066365.html#5066365</link>
      <description>aaaaah da fallt mir ja grad ein, dass man auf Text-Datentypen ja gar nicht joinen kann ... wie hab ich dann das bloß vorige Woche gemacht *grübel*&lt;br&gt;&lt;br&gt;ja Index liegt drauf ...&lt;br&gt;&lt;br&gt;edit&lt;br&gt;&lt;br&gt;demzufolge geht natürlich dein Statement auch nicht:&lt;br&gt;&lt;br&gt;Msg 306, Level 16, State 2, Line 1&lt;br&gt;Die Datentypen 'text', 'ntext' und 'image' können nur mithilfe des Operators IS NULL oder LIKE verglichen oder sortiert werden.&lt;br&gt;&lt;br&gt;edit 2&lt;br&gt;&lt;br&gt;hm ich darf keinen Vergleich mit = machen sondern muss den join mit like setzen! naja nichts desto trotz wird diese Abfrage sicher einige Stunden laufen - ergo ist es keine Lösung &lt;img src="sad.gif" width="16" height="19" align="absmiddle" alt=":("/&gt;&lt;br&gt;&lt;br&gt;edit 3&lt;br&gt;&lt;br&gt;hoppala, auf die Text-Spalte liegt doch kein Index ... hm dann werd ich mal am Test-Server einen Index setzen und nochmals die Query starten ... mal schauen, obs performanter wird!&lt;br&gt;&lt;br&gt;edit 4 (jetzt wirds schon zach *g*)&lt;br&gt;&lt;br&gt;Indexe sind natürlich auf Text-Spalten nicht erlaubt ... hab ich mir aber eh schon gedacht, denn wie sollte der SQL-Server so ein Feld indexieren?&lt;br/&gt;</description>
      <pubDate>Thu, 09 Oct 2008 08:24:51 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5066365.html#5066365</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-10-09T08:24:51Z</dc:date>
    </item>
    <item>
      <title>Re(5): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5066351.html#5066351</link>
      <description>&lt;blockquote&gt;&lt;em&gt; aber ist diese Abfrage wirklich performanter als:&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;Sollte schon sein ...&lt;br&gt;&lt;br&gt;Hast du einen Index auf s?&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Thu, 09 Oct 2008 08:23:35 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5066351.html#5066351</guid>
      <dc:creator>mjy@geizhals.at</dc:creator>
      <dc:date>2008-10-09T08:23:35Z</dc:date>
    </item>
    <item>
      <title>Re(4): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5066346.html#5066346</link>
      <description>ja genau ... da hast schon recht ... aber ist diese Abfrage wirklich performanter als:&lt;br&gt;&lt;br&gt;(Spalte s, Tabelle tabelle)&lt;br&gt;&lt;br&gt;select t1.s&lt;br&gt;from tabelle t1, tabelle t2&lt;br&gt;where t1.s=t2.s&lt;br&gt;and t1.lfdnr&gt;t2.lfdnr&lt;br&gt;&lt;br&gt;SQL muss ja nach wie vor den Inhalt vergleichen und genau das ist der Punkt, wo's ihn aufhaut ... aber ich werds nachher mal testen, obs ohne join performanter ist!&lt;br/&gt;</description>
      <pubDate>Thu, 09 Oct 2008 08:22:19 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5066346.html#5066346</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-10-09T08:22:19Z</dc:date>
    </item>
    <item>
      <title>Re(3): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5066257.html#5066257</link>
      <description>Wenn deine Textspalte "t" heißt:&lt;br&gt;&lt;br&gt;&lt;pre&gt;&lt;br&gt;select t,count(*) from foo group by t having count(*)&gt;1;&lt;br&gt;&lt;/pre&gt;&lt;br&gt;&lt;br&gt;Das spuckt dann sämtliche mehrfach vorhandenen Textspalten aus ... Meinst du das?&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Thu, 09 Oct 2008 07:49:54 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5066257.html#5066257</guid>
      <dc:creator>mjy@geizhals.at</dc:creator>
      <dc:date>2008-10-09T07:49:54Z</dc:date>
    </item>
    <item>
      <title>Re(2): MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5066248.html#5066248</link>
      <description>group by beeinflusst ja nur die Ergebnismenge, nicht aber die Abfrage an sich oder täusch ich mich?&lt;br&gt;&lt;br&gt;btw. ich verwende eh MS SQL und nicht MySQL!&lt;br/&gt;</description>
      <pubDate>Thu, 09 Oct 2008 07:44:45 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5066248.html#5066248</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-10-09T07:44:45Z</dc:date>
    </item>
    <item>
      <title>Re: MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5066228.html#5066228</link>
      <description>group ... having count(*)&gt;1 ...&lt;br&gt;&lt;br&gt;(falls MySQL das inzwischen kann)&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Thu, 09 Oct 2008 07:34:55 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5066228.html#5066228</guid>
      <dc:creator>mjy@geizhals.at</dc:creator>
      <dc:date>2008-10-09T07:34:55Z</dc:date>
    </item>
    <item>
      <title>MSSQL2005: Text-Spalten performant auf Redundanz vergleichen</title>
      <link>http://forum.geizhals.at/t597838,5066154.html#5066154</link>
      <description>habt ihr Ideen, wie ich Text-Spalten performant vergleichen kann? Ich hab hier eine Tabelle mit 10 Mio. Zeilen und redundanten Daten ... ein self join auf diese Tabelle ist natürlich tödlich ... die Query läuft und läuft und läuft ... da kann selbst das Duracell-Häschen nicht mithalten ... wie würdet ihr die doppelten Entrys selektieren?&lt;br/&gt;</description>
      <pubDate>Thu, 09 Oct 2008 06:53:03 GMT</pubDate>
      <guid>http://forum.geizhals.at/t597838,5066154.html#5066154</guid>
      <dc:creator>-Transformer2K-</dc:creator>
      <dc:date>2008-10-09T06:53:03Z</dc:date>
    </item>
  </channel>
</rss>
