<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>mysql und PHP (wieder)</title>
    <link>http://forum.geizhals.at/feed.jsp?id=352970</link>
    <description>Geizhals-Forum</description>
    <item>
      <title>Re(13): mysql und PHP (wieder)</title>
      <link>http://forum.geizhals.at/t352970,2703074.html#2703074</link>
      <description>Das ist nicht so wild...&lt;br&gt;Die Statement-Parser sind IMHO via flex/bison geschrieben - da ist das extrahieren der Infos net sooo schlimm. Klar steigt der Parse-Aufwand etwas an (minimst) - aber dazu legt er sich ja die geparsten Statements in einem eigenen Buffer ab... Damit er sie bei einem nächsten mal nicht nochmal Parsen muß.&lt;br&gt;&lt;br&gt;Viel genialer find' ich die Postgres beim allgemeinen Optimizer-lauf...&lt;br&gt;&lt;br&gt;Oracle verwendet ja immer cost-based und ab einer gewissen Tabellenanzahl fällt's zurück auf rulebased.&lt;br&gt;&lt;br&gt;Postgres:&lt;br&gt;Dursucht bis zu konfigurierbaren Tiefe (AFAIK default 11) alle Variationen - wenn's mehr Tabellen sind: Plan B nicht cost-based sondern genetische algorithmen, um zumindest schnell zu einer sehr guten Lösung zu kommen...&lt;br&gt;&lt;br&gt;So oder so, das Hirnschmalz, das in Datenbanken geflossen ist, ist so oder so phantastisch... Ich finde ja sogar schon die Transaktionsmodelle faszinierend (bin leicht zu begeistern &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt; )&lt;br/&gt;</description>
      <pubDate>Wed, 10 Aug 2005 16:58:32 GMT</pubDate>
      <guid>http://forum.geizhals.at/t352970,2703074.html#2703074</guid>
      <dc:creator>gepeinigter_aon_neukunde</dc:creator>
      <dc:date>2005-08-10T16:58:32Z</dc:date>
    </item>
    <item>
      <title>Re(12): mysql und PHP (wieder)</title>
      <link>http://forum.geizhals.at/t352970,2703061.html#2703061</link>
      <description>&lt;blockquote&gt;&lt;em&gt; Denn anstatt im Index die Werte mit Pointer auf die Rows wegzuspeichern, muß&lt;br&gt;er nur noch einen Zwischenschritt machen: Anstatt die Werte selbst zu&lt;br&gt;speichern, speichert er die Funktionsergebnisse der Werte.&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;Ja sicha!&lt;br&gt;&lt;br&gt;Mir geht es darum, welche wahnsinns-mörder-irrsinns-DB-Engine kann eine komplexe SQL-Query derart auflösen, daß nicht nur das Statement zerlegt und in Indizierte Komponeneten geteilt werden, sondern auch noch (und dies auf intellliegente Weise) die Expression der Index-Defintion (über function-based-expressions) mit integrieren kann.&lt;br&gt;&lt;br&gt;Spürst was ich denk? &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt;&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Wed, 10 Aug 2005 16:52:45 GMT</pubDate>
      <guid>http://forum.geizhals.at/t352970,2703061.html#2703061</guid>
      <dc:creator>Ingenico</dc:creator>
      <dc:date>2005-08-10T16:52:45Z</dc:date>
    </item>
    <item>
      <title>Re(11): mysql und PHP (wieder)</title>
      <link>http://forum.geizhals.at/t352970,2703048.html#2703048</link>
      <description>Sorry...&lt;br&gt;&lt;br&gt;Ich habe eine Tabelle BUBU angelegt&lt;br&gt;=# CREATE TABLE bubu ( a varchar(20) );&lt;br&gt;CREATE TABLE&lt;br&gt;&lt;br&gt;Habe einen Wert reingelegt:&lt;br&gt;x=# INSERT INTO bubu values('jsfkf');&lt;br&gt;INSERT 17145 1&lt;br&gt;&lt;br&gt;Einen Function based Index(upper) angelegt:&lt;br&gt;x=# CREATE INDEX xxx on bubu(upper(a));&lt;br&gt;CREATE INDEX&lt;br&gt;&lt;br&gt;Laß mir anzeigen, wie der Optimizer das SELECT auflöst&lt;br&gt;x=# EXPLAIN SELECT * from bubu where upper(a) = 'X';&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; QUERY PLAN&lt;br&gt;-----------------------------------------------------&lt;br&gt; Seq Scan on bubu&amp;nbsp;&amp;nbsp;(cost=0.00..1.01 rows=1 width=24)&lt;br&gt;&amp;nbsp;&amp;nbsp; Filter: (upper((a)::text) = 'X'::text)&lt;br&gt;(2 Zeilen)&lt;br&gt;&lt;br&gt;Aaah - Sequentieller Scan, net Index. Logisch, da sowenig Werte drin sind.&lt;br&gt;Also hab ich ihm &lt;b&gt;verboten&lt;/b&gt;, sequentielle Scans durchzuführen&lt;br&gt;&lt;br&gt;x=# set enable_seqscan = off;&lt;br&gt;SET&lt;br&gt;&lt;br&gt;Und nochmal die Query&lt;br&gt;x=# EXPLAIN SELECT * from bubu where upper(a) = 'X';&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; QUERY PLAN&lt;br&gt;-----------------------------------------------------------------&lt;br&gt; Index Scan using xxx on bubu&amp;nbsp;&amp;nbsp;(cost=0.00..4.68 rows=1 width=24)&lt;br&gt;&amp;nbsp;&amp;nbsp; Index Cond: (upper((a)::text) = 'X'::text)&lt;br&gt;(2 Zeilen)&lt;br&gt;&lt;br&gt;Wir sehen - er macht einen &lt;b&gt;INDEX&lt;/b&gt;scan.&lt;br&gt;Klappt dasselbe mit Like ?&lt;br&gt;&lt;br&gt;x=# EXPLAIN SELECT * from bubu where upper(a) like 'X%';&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; QUERY PLAN&lt;br&gt;------------------------------------------------------------------------------------&lt;br&gt; Index Scan using xxx on bubu&amp;nbsp;&amp;nbsp;(cost=0.00..4.68 rows=1 width=24)&lt;br&gt;&amp;nbsp;&amp;nbsp; Index Cond: ((upper((a)::text) &gt;= 'X'::text) AND (upper((a)::text) &amp;lt; 'Y'::text))&lt;br&gt;&amp;nbsp;&amp;nbsp; Filter: (upper((a)::text) ~~ 'X%'::text)&lt;br&gt;(3 Zeilen)&lt;br&gt;&lt;br&gt;Ja.&lt;br&gt;&lt;br&gt;Aus Sicht des RDBMS ist ein funtion-based Index primitiv zu implementieren, wenn du schon indizes hast...&lt;br&gt;&lt;br&gt;Denn anstatt im Index die Werte mit Pointer auf die Rows wegzuspeichern, muß er nur noch einen Zwischenschritt machen: Anstatt die Werte selbst zu speichern, speichert er die Funktionsergebnisse der Werte.&lt;br&gt;&lt;br&gt;Daher dauert das Indizieren länger, und bei jedem Insert muß er zusätzlich die Funktionsergebnisse berechnen... Macht also Primär bei Tabellen mit viel mehr Queries als Inserts Sinn - aber das gilt ja für alle Indizes. Deine DB wird's wohl intern genauso lösen.&lt;br/&gt;</description>
      <pubDate>Wed, 10 Aug 2005 16:43:20 GMT</pubDate>
      <guid>http://forum.geizhals.at/t352970,2703048.html#2703048</guid>
      <dc:creator>gepeinigter_aon_neukunde</dc:creator>
      <dc:date>2005-08-10T16:43:20Z</dc:date>
    </item>
    <item>
      <title>Re(10): mysql und PHP (wieder)</title>
      <link>http://forum.geizhals.at/t352970,2703040.html#2703040</link>
      <description>Tut mir leid, aber ich verstehe hier nur "bubu"!&lt;br&gt;Du hast eine Table mit einem Record erstellt?&lt;br&gt;&lt;br&gt;Naja - wie auch immer, ich weiß daß Indizies auch Funktions-Basierend aufgebaut werden können. Wie diese über den DB-Server sinnvoll aufgelöst werden können, wenn die Query mal komplexer wird, und die Syntax zwar auf einen funktionsbasierenden Index refernziert, aber mit anderen Konditionen verknüpft werden, kann ich mir nimma vorstellen.&lt;br&gt;&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Wed, 10 Aug 2005 16:37:29 GMT</pubDate>
      <guid>http://forum.geizhals.at/t352970,2703040.html#2703040</guid>
      <dc:creator>Ingenico</dc:creator>
      <dc:date>2005-08-10T16:37:29Z</dc:date>
    </item>
    <item>
      <title>Den Ansatz mit function based indizes...</title>
      <link>http://forum.geizhals.at/t352970,2703029.html#2703029</link>
      <description>Mag ich eh sehr... Dadurch, daß er so generell ist - die verwende ich echt öfter.&lt;br&gt;&lt;br&gt;EDIT:&lt;br&gt;Scheint so, als ob sich doch mehr getan hat als Du verarbeiten willst, hehe &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt;&lt;br&gt;&lt;br&gt;EDIT²:&lt;br&gt;Wobei function based Indizes zwar immer (PostgreSQL und Oracle) auch bei selbstdefinierten Funktionen klappen - aber nur, wenn sie &lt;b&gt;IMMUTABLE&lt;/b&gt; sind, d.h. wenn bei derselben Eingabe dieselbe Ausgabe resultiert. Dabei baut er halt den Index statt über die Werte über die Funktionsergebnisse der Werte - aus Sicht der DB eine sehr primitive Ergänzung, für den Benutzer aber extrem praktisch.&lt;br/&gt;</description>
      <pubDate>Wed, 10 Aug 2005 16:24:50 GMT</pubDate>
      <guid>http://forum.geizhals.at/t352970,2703029.html#2703029</guid>
      <dc:creator>gepeinigter_aon_neukunde</dc:creator>
      <dc:date>2005-08-10T16:24:50Z</dc:date>
    </item>
    <item>
      <title>Den Ansatz mit function based indizes...</title>
      <link>http://forum.geizhals.at/t352970,2703018.html#2703018</link>
      <description>Mag ich eh sehr... Dadurch, daß er so generell ist - die verwende ich echt öfter.&lt;br&gt;&lt;br&gt;EDIT:&lt;br&gt;Scheint so, als ob sich doch mehr getan hat als Du verarbeiten willst, hehe &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt;&lt;br/&gt;</description>
      <pubDate>Wed, 10 Aug 2005 16:24:50 GMT</pubDate>
      <guid>http://forum.geizhals.at/t352970,2703018.html#2703018</guid>
      <dc:creator>gepeinigter_aon_neukunde</dc:creator>
      <dc:date>2005-08-10T16:24:50Z</dc:date>
    </item>
    <item>
      <title>Den Ansatz mit function based indizes...</title>
      <link>http://forum.geizhals.at/t352970,2703009.html#2703009</link>
      <description>Mag ich eh sehr... Dadurch, daß er so generell ist - die verwende ich echt öfter.&lt;br/&gt;</description>
      <pubDate>Wed, 10 Aug 2005 16:24:50 GMT</pubDate>
      <guid>http://forum.geizhals.at/t352970,2703009.html#2703009</guid>
      <dc:creator>gepeinigter_aon_neukunde</dc:creator>
      <dc:date>2005-08-10T16:24:50Z</dc:date>
    </item>
    <item>
      <title>Re(9): mysql und PHP (wieder)</title>
      <link>http://forum.geizhals.at/t352970,2703007.html#2703007</link>
      <description>Wie gesagt... Mit function based Index schon...&lt;br&gt;&lt;br&gt;Beweis:&lt;br&gt;&lt;br&gt;&lt;div class=code&gt;&lt;pre&gt;&#xD;
=# CREATE TABLE bubu ( a varchar(20) );&#xD;
CREATE TABLE&#xD;
x=# INSERT INTO bubu values('jsfkf');&#xD;
INSERT 17145 1&#xD;
x=# CREATE INDEX xxx on bubu(upper(a));&#xD;
CREATE INDEX&#xD;
x=# EXPLAIN SELECT * from bubu where upper(a) = 'X';&#xD;
                     QUERY PLAN&#xD;
-----------------------------------------------------&#xD;
 Seq Scan on bubu  (cost=0.00..1.01 rows=1 width=24)&#xD;
   Filter: (upper((a)::text) = 'X'::text)&#xD;
(2 Zeilen)&#xD;
&#xD;
x=# set enable_seqscan = off;&#xD;
SET&#xD;
x=# EXPLAIN SELECT * from bubu where upper(a) = 'X';&#xD;
                           QUERY PLAN&#xD;
-----------------------------------------------------------------&#xD;
 Index Scan using xxx on bubu  (cost=0.00..4.68 rows=1 width=24)&#xD;
   Index Cond: (upper((a)::text) = 'X'::text)&#xD;
(2 Zeilen)&#xD;
&#xD;
x=# EXPLAIN SELECT * from bubu where upper(a) like 'X%';&#xD;
                                     QUERY PLAN&#xD;
------------------------------------------------------------------------------------&#xD;
 Index Scan using xxx on bubu  (cost=0.00..4.68 rows=1 width=24)&#xD;
   Index Cond: ((upper((a)::text) &amp;gt;= 'X'::text) AND (upper((a)::text) &amp;lt; 'Y'::text))&#xD;
   Filter: (upper((a)::text) ~~ 'X%'::text)&#xD;
(3 Zeilen)&#xD;
&lt;/pre&gt;&lt;/div&gt;&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Wed, 10 Aug 2005 16:23:59 GMT</pubDate>
      <guid>http://forum.geizhals.at/t352970,2703007.html#2703007</guid>
      <dc:creator>gepeinigter_aon_neukunde</dc:creator>
      <dc:date>2005-08-10T16:23:59Z</dc:date>
    </item>
    <item>
      <title>Re(8): mysql und PHP (wieder)</title>
      <link>http://forum.geizhals.at/t352970,2702983.html#2702983</link>
      <description>Danke! Daß Du mir mein naives Weltbild bezüglich Indizierung nicht ruiniert hast.&lt;br&gt;Ich dachte schon, hier hätte sich mehr getan als ich geistig aufnehmen könnte &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt;&lt;br&gt;&lt;br&gt;Es gibt ja DB´s (und ich arbeite mit einer solchen), wo die zu indizierenden Felder vom Typ "char" innerhalb der Index-Kette jeweils als "case-sensitive" / "case-insensitive" gekennzeichnet werden können. Daher hab ich mir bei SQL-Abfragen nie wirklich Gedanken darüber gemacht.&lt;br&gt;Aber ich war mir sicher, daß Funktionen innerhalb einer Query, die sich auf DB-Felder beziehen, nie indiziert ablaufen können.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Wed, 10 Aug 2005 16:14:40 GMT</pubDate>
      <guid>http://forum.geizhals.at/t352970,2702983.html#2702983</guid>
      <dc:creator>Ingenico</dc:creator>
      <dc:date>2005-08-10T16:14:40Z</dc:date>
    </item>
    <item>
      <title>Re(7): mysql und PHP (wieder)</title>
      <link>http://forum.geizhals.at/t352970,2702925.html#2702925</link>
      <description>AUTSCH! Ich bin ein /DILLO/. &lt;br&gt;Ich war gedanklich völlig falsch und bei einer Abfrage wie &lt;br&gt;&lt;br&gt;&lt;div class=code&gt;&lt;pre&gt;SELECT xyz FROM tabelle WHERE UPPER(benutzereingabe) = feld&lt;/pre&gt;&lt;/div&gt; - einfach weil ich das oft brauch &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt;.&lt;br&gt;&lt;br&gt;Du hast Recht, im Normalfall kann er dann so keinen Index verwenden - &lt;b&gt;außer&lt;/b&gt; du hast einen Function based Index wie&lt;br&gt;&lt;br&gt;&lt;div class=code&gt;&lt;pre&gt;&#xD;
CREATE INDEX idx ON tabelle(UPPER(feld))&#xD;
&lt;/pre&gt;&lt;/div&gt;&lt;br&gt;Dann natürlich schon (PostgreSQL-Syntax)&lt;br/&gt;</description>
      <pubDate>Wed, 10 Aug 2005 15:52:40 GMT</pubDate>
      <guid>http://forum.geizhals.at/t352970,2702925.html#2702925</guid>
      <dc:creator>gepeinigter_aon_neukunde</dc:creator>
      <dc:date>2005-08-10T15:52:40Z</dc:date>
    </item>
    <item>
      <title>Re(6): mysql und PHP (wieder)</title>
      <link>http://forum.geizhals.at/t352970,2701973.html#2701973</link>
      <description>Und wennst hast ...&lt;br&gt;&lt;br&gt;(like 'Mustermann%' or like 'mustermann%' or like 'MUSTERMANN%' or like 'MusterMann%' or ........)&lt;br&gt;&lt;br&gt;.. dann wirds aber ein bisserl öd!&lt;br&gt;&lt;br&gt;Und vor allem, was machst wenn der Vergleich nicht mit einer Konstante, sondern einer Variable erfolgt?&lt;br/&gt;</description>
      <pubDate>Wed, 10 Aug 2005 10:50:16 GMT</pubDate>
      <guid>http://forum.geizhals.at/t352970,2701973.html#2701973</guid>
      <dc:creator>Ingenico</dc:creator>
      <dc:date>2005-08-10T10:50:16Z</dc:date>
    </item>
    <item>
      <title>Re(6): mysql und PHP (wieder)</title>
      <link>http://forum.geizhals.at/t352970,2701921.html#2701921</link>
      <description>Hallo und sorry, dass ich mich da Reinhänge.&lt;br&gt;&lt;br&gt;Aber was ist, wenn ich jetzt einen längeren String vergleichen möchte und nicht nur einen Buchstaben?&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Wed, 10 Aug 2005 10:24:31 GMT</pubDate>
      <guid>http://forum.geizhals.at/t352970,2701921.html#2701921</guid>
      <dc:creator>Da Horstl</dc:creator>
      <dc:date>2005-08-10T10:24:31Z</dc:date>
    </item>
    <item>
      <title>Re(5): mysql und PHP (wieder)</title>
      <link>http://forum.geizhals.at/t352970,2701860.html#2701860</link>
      <description>kannst da aber eh sparen mit&lt;br&gt;... (like 'a%' or like 'A%' )&lt;br&gt;&lt;br&gt;is sicher besser und schneller als eine columnfunction.&lt;br/&gt;</description>
      <pubDate>Wed, 10 Aug 2005 09:55:17 GMT</pubDate>
      <guid>http://forum.geizhals.at/t352970,2701860.html#2701860</guid>
      <dc:creator>Rennegade</dc:creator>
      <dc:date>2005-08-10T09:55:17Z</dc:date>
    </item>
    <item>
      <title>Re(4): mysql und PHP (wieder)</title>
      <link>http://forum.geizhals.at/t352970,2701819.html#2701819</link>
      <description>&lt;blockquote&gt;&lt;em&gt; problematischer is es schon wenn du mit irgend welchen funktionen auf ne&lt;br&gt;column losgehst;&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;Genau darum geht es ja! (upper)&lt;br/&gt;</description>
      <pubDate>Wed, 10 Aug 2005 09:45:39 GMT</pubDate>
      <guid>http://forum.geizhals.at/t352970,2701819.html#2701819</guid>
      <dc:creator>Ingenico</dc:creator>
      <dc:date>2005-08-10T09:45:39Z</dc:date>
    </item>
    <item>
      <title>Re(3): mysql und PHP (wieder)</title>
      <link>http://forum.geizhals.at/t352970,2701587.html#2701587</link>
      <description>sicherlich, sonst könntest die datenbank gleich scmeissen &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";)"/&gt; problematischer is es schon wenn du mit irgend welchen funktionen auf ne column losgehst; da streiken auch die meisten großen datenbanken.&lt;br/&gt;</description>
      <pubDate>Wed, 10 Aug 2005 08:16:10 GMT</pubDate>
      <guid>http://forum.geizhals.at/t352970,2701587.html#2701587</guid>
      <dc:creator>Rennegade</dc:creator>
      <dc:date>2005-08-10T08:16:10Z</dc:date>
    </item>
    <item>
      <title>Re(6): mysql und PHP (wieder)</title>
      <link>http://forum.geizhals.at/t352970,2701516.html#2701516</link>
      <description>&lt;blockquote&gt;&lt;em&gt; Das UPPER() wird nur einmal ausgewertet - und über das Ergebnis der Index-Scan&lt;br&gt;(eben nicht ein Full-Table-Scan) gemacht.&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;Du hast die "upper()"-Function ja nicht auf den zu vergleichenden Wert, sondern auf das DB-Feld angewendet.&lt;br&gt;Wennst jetzt 2Mio Records hast, müssen doch zwangsweise 2Mio Felder via "upper()" umgerechnet und danach vergleichen werden um auf das Ergebnis zu kommen.&lt;br&gt;Ich selber verwende diese Art des vergleiches ja nie. Da bei meiner DB die Indizies automatisch auf Kleinbuchstaben umgerechnet werden (nicht die Felder &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;</description>
      <pubDate>Wed, 10 Aug 2005 07:37:13 GMT</pubDate>
      <guid>http://forum.geizhals.at/t352970,2701516.html#2701516</guid>
      <dc:creator>Ingenico</dc:creator>
      <dc:date>2005-08-10T07:37:13Z</dc:date>
    </item>
    <item>
      <title>Re(5): mysql und PHP (wieder)</title>
      <link>http://forum.geizhals.at/t352970,2700485.html#2700485</link>
      <description>Das UPPER() wird nur einmal ausgewertet - und über das Ergebnis der Index-Scan (eben nicht ein Full-Table-Scan) gemacht.&lt;br&gt;&lt;br&gt;Da bin ich mir bei der PostgreSQL 100pro sicher (habe selbst öfter eigene Datentypen plus dazugehörige Indizes für die Firma entwickelt) und bei Oracle ebenso (Optimizer-Ausgabe kontrolliert).&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Tue, 09 Aug 2005 19:16:20 GMT</pubDate>
      <guid>http://forum.geizhals.at/t352970,2700485.html#2700485</guid>
      <dc:creator>gepeinigter_aon_neukunde</dc:creator>
      <dc:date>2005-08-09T19:16:20Z</dc:date>
    </item>
    <item>
      <title>Re(4): mysql und PHP (wieder)</title>
      <link>http://forum.geizhals.at/t352970,2700294.html#2700294</link>
      <description>Meine Bedenken galten eher der "upper()" als der "like"-Angabe &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt;&lt;br/&gt;</description>
      <pubDate>Tue, 09 Aug 2005 17:45:24 GMT</pubDate>
      <guid>http://forum.geizhals.at/t352970,2700294.html#2700294</guid>
      <dc:creator>Ingenico</dc:creator>
      <dc:date>2005-08-09T17:45:24Z</dc:date>
    </item>
    <item>
      <title>Re(3): mysql und PHP (wieder)</title>
      <link>http://forum.geizhals.at/t352970,2700248.html#2700248</link>
      <description>Ich kenn die MySQL auch net &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt;&lt;br&gt;&lt;br&gt;Bei "richtigen" DBs wie Oracle, DB2 und PostgreSQL kommt bei &lt;br&gt;LIKE aber sehr wohl ein Index zur Anwendung, wenn möglich und sinnvoll (Optimizer-Entscheidung).&lt;br&gt;&lt;br&gt;Also LIKE 'ABC%' kann index Nutzen, LIKE '%ABC' net.&lt;br&gt;&lt;br&gt;Ein beliebter Fehler [auch in prof. Programmen] ist ja, daß wer&lt;br&gt;WHERE SUBSTR(feld,1,3) = 'ABC' &lt;br&gt;schreibt... anstelle von &lt;br&gt;WHERE feld LIKE 'ABC%'.&lt;br&gt;&lt;br&gt;Denn ersteres kann niemals den Index nutzen, zweiteres schon...&lt;br/&gt;</description>
      <pubDate>Tue, 09 Aug 2005 17:26:45 GMT</pubDate>
      <guid>http://forum.geizhals.at/t352970,2700248.html#2700248</guid>
      <dc:creator>gepeinigter_aon_neukunde</dc:creator>
      <dc:date>2005-08-09T17:26:45Z</dc:date>
    </item>
    <item>
      <title>Re(2): mysql und PHP (wieder)</title>
      <link>http://forum.geizhals.at/t352970,2697257.html#2697257</link>
      <description>Ich kenn ja "mysql" nicht, aber würde bei einem solchen SQL-Statement überhaupt noch ein Index Anwendung finden?&lt;br/&gt;</description>
      <pubDate>Mon, 08 Aug 2005 18:06:16 GMT</pubDate>
      <guid>http://forum.geizhals.at/t352970,2697257.html#2697257</guid>
      <dc:creator>Ingenico</dc:creator>
      <dc:date>2005-08-08T18:06:16Z</dc:date>
    </item>
    <item>
      <title>Re: mysql und PHP (wieder)</title>
      <link>http://forum.geizhals.at/t352970,2694244.html#2694244</link>
      <description>Wenn du alle a's willst - also groß und klein:&lt;br&gt;&lt;br&gt;SELECT * FROM tabelle WHERE UPPER(feld) LIKE 'A%';&lt;br&gt;wenn's aber nur die mit kleinem a sein sollen:&lt;br&gt;SELECT * FROM tabelle WHERE feld LIKE 'a%';&lt;br&gt;&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Sun, 07 Aug 2005 18:53:41 GMT</pubDate>
      <guid>http://forum.geizhals.at/t352970,2694244.html#2694244</guid>
      <dc:creator>gepeinigter_aon_neukunde</dc:creator>
      <dc:date>2005-08-07T18:53:41Z</dc:date>
    </item>
    <item>
      <title>Re(5): mysql und PHP (wieder)</title>
      <link>http://forum.geizhals.at/t352970,2693764.html#2693764</link>
      <description>probiers aus &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";)"/&gt;&lt;br/&gt;</description>
      <pubDate>Sun, 07 Aug 2005 16:28:25 GMT</pubDate>
      <guid>http://forum.geizhals.at/t352970,2693764.html#2693764</guid>
      <dc:creator>Somnatic</dc:creator>
      <dc:date>2005-08-07T16:28:25Z</dc:date>
    </item>
    <item>
      <title>Re(3): mysql und PHP (wieder)</title>
      <link>http://forum.geizhals.at/t352970,2693742.html#2693742</link>
      <description>kA&lt;br&gt;würde mal auf nein tippen (kann aber auch ja sein &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";)"/&gt; )&lt;br/&gt;</description>
      <pubDate>Sun, 07 Aug 2005 16:20:41 GMT</pubDate>
      <guid>http://forum.geizhals.at/t352970,2693742.html#2693742</guid>
      <dc:creator>Somnatic</dc:creator>
      <dc:date>2005-08-07T16:20:41Z</dc:date>
    </item>
    <item>
      <title>Re: mysql und PHP (wieder)</title>
      <link>http://forum.geizhals.at/t352970,2693696.html#2693696</link>
      <description>a%&lt;br&gt;&lt;br&gt;google -&gt; wildcard mysql&lt;br/&gt;</description>
      <pubDate>Sun, 07 Aug 2005 16:07:37 GMT</pubDate>
      <guid>http://forum.geizhals.at/t352970,2693696.html#2693696</guid>
      <dc:creator>Somnatic</dc:creator>
      <dc:date>2005-08-07T16:07:37Z</dc:date>
    </item>
  </channel>
</rss>
