Re: Upper/Lower Case Selektion Performance

From: Gerard H. Pille <ghp_at_skynet.be>
Date: Wed, 22 Feb 2006 18:22:21 +0100
Message-ID: <43FC9DCD.8010008_at_skynet.be>


der mak wrote:
> Hallo, ich benötige eine Hilfe und hoffe, dass mir jemand vielleicht
> weiter helfen kann.
>
> Aktuell benutze ich ein paar Oracle Forms 6i/9i Module gegen eine
> Oracle 9.2.0 Datenbank. In den Formsmodulen kann in einem Multirecord
> Block eine Abfrage über einen Text ausgeführt werden. Bis jetzt war
> es so, dass der Text immer in Grossbuchstaben eingegeben und
> gespeichert wurde. Eine Suche war auch nur mit Grossbuchstaben
> möglich.
>
> Nun soll eine Eingabe in Gross und Kleinbuchstaben möglich sein. Die
> Suche muss nun so angepasst werden, dass die Daten nun Gross- und
> Kleinbuchstaben unabhängig ermittelt werden können.
>
> Z.B. Suche über %Test% soll folgendes Ergebnis liefern:
> Test
> TEST
> test
> teST
>
> usw.
>
> Die einzige Idee die ich habe ist die, dass ich jeweils ein UPPER oder
> ein LOWER vor die Suchspalte und das Suchkriterium setzte. Meine
> Befürchtung ist aber, dass damit die Performance, der ohne hin schon
> etwas langsamen Module noch schlechter wird.
>
> Weisst vielleicht jemand, ob es eine andere, bessere Möglichkeit einer
> Gross-Kleinbuchstaben unabhängigen Datenermittlung gibt?
>
> Gruß
> Marius
>

[Quoted] Sie können auch ein zweite Kolonne haben, ZB. TEXT_KBS, innerhalb welcher sie LOWER(TEXT) speichern, und jeder Suche mit Kleinbuchstaben auf dieser Kolonne machen. Wielleicht auch dieser Kolonne indexieren, so kann Oracle fur ein Suche nach '%test%' ein FAST FULL INDEX SCAN machen, anstelle ein FULL TABLE SCAN. Received on Wed Feb 22 2006 - 18:22:21 CET

Original text of this message