|
Danke :) Alle Antworten sind hilfreich! Welche soll ich annehmen? :)
– Stieber 15.06.2011
|
||
Ausserdem nicht die Feldlänge vergessen: in einem Char(10) Feld wird die Suche nach Name='Hans' nichts finden, auch wenn Du ein Datensatz mit Inhalt Hans haben solltest
– Jaksa 15.06.2011
|
||
= muss man nicht nur bei Zahlenwerten durchführen. Geht auch mit Strings, aber dann wird (wie bei Zahlen) nur auf vollständige Gleichheit geprüft.
– theorist 18.06.2011
|
=
Diesen Vergleichsoperator nutzt du, wenn du z.B. einen expliziten Wert suchst.
Beispiel:--Der gesuchte Wert muss exakt 100 sein
SELECT * FROM Produkt WHERE Qualitaet = 100
--Der gesuchte Wert muss exakt 'Hans%' sein
SELECT * FROM Produkt WHERE Name = 'Hans%'
Diese beiden Abfragen würden dir nur Werte zurückliefern, die auch wirklich 100 bzw. Hans% sind.
LIKE
Diesen Operator benutzt du, wenn du ein Suchmuster anwenden willst.
Beispiel:--Der gesuchte Wert muss den Wert '100%' enthalten
--Würde so aussehen: 100, 10000, 1000000, etc.
SELECT * FROM Produkt WHERE Qualitaet LIKE 100
--Ich suche alle Personen, die den Namens Hans tragen
--Würde so aussehen: Hans, Hans-Peter, Hans-Franz, etc.
SELECT * FROM Produkt WHERE Name LIKE 'Hans%'
|
|
|
1 |
so weit ich mich erinnern kann, hat der alte oracle optimizer (den aktuellen stand kenne ich nicht, wird aber wohl nicht schlechter geworden sein) sehr wohl erkannt, ob die in der where klausel verwendeten abfragen über einen index zu lösen sind. und falls ALLE IN DER WHERE KLAUSEL VERWENDETEN spalten indiziert ist, muss er zwar vielleicht den ganzen index lesen, das ist aber meist weniger als die ganze tabelle. aber genau kann man das erst feststellen, wenn man sich den execution plan angesehen hat. und dann kann man immer noch an den schräubchen (=indices) drehen.
– nabuchodonossor 17.06.2011
|
|
Wenn der Index aber nicht die Werte enthält, sondern nur die Reihenfolge der Datensätze bezüglich einer Sortierung (Spalte) angibt, ist mit dem Lesen des Indexes nichts gewonnen. Du brauchst trotzdem den Full Table Scan, da Teilwortsuchen nicht mit einer Sortierung eingeschränkt werden können.
– theorist 19.06.2011
|