In einem "normalen" Index steht drin , was es zu wechem Datensatz gibt.
Du suchst aber nach "nicht da".
> ich suche ABC und bekomme als Ergebnis alle Datensatzzeiger direkt aus dem einen Index-Eintrag
> im Index steht aber keine Liste aller nichtzutreffenden Datensätze
Klar könnte man denken, dass man nun einfach danach sucht und wenn mein Datensatz nicht im Ergebnis vorkommt, dann nehme ich den, aber dafür muß man ja dennoch erstmal alles durchsuchen ... da denkt sich die Datenbbank wohl: Wenn ich sowieso alles laden muß, dann ignoriere ich einfach den Index.
In vielen
DBMS gibt es verschiedene Arten von Indize.
Eventuell funktioniert es mit einer anderen Art besser?
Oder einfach selber Mal versuchen umzudrehen und der
DB ein "suche nach" unterjubeln?
Also in einem JOIN/SubSELECT nach
WHERE kennung IN ('klein', ' ')
suchen und dann via
IS NOT NULL
oder
NOT Exists(...)
mit dem eigentlichen SELECT verknubbeln.