Ik zit met het volgende probleem :
In een database is er een kolom "bestelnummer" waar van dat de inhoud steeds de volgende stramienen heeft :
1-45654-45
1-47546-87
1-57546-77
9-4454545
8-4565499
Ik krijg bv een parameter met de volgende waarde 15456544 om te zoeken in de SQL database.
Ik doe een "select * "-query uitvoeren en telkens het veld "bestelnummer" de "-"-tekens er uit halen en dan controleren als er een overeenkomst is.
Is er een mogelijkheid dat ik dat allemaal in een query kan steken zodat ik niet een volledige database zelf moet aflopen om een match te vinden?
SQL vraag
- guntherstassen
- Pro Member
- Berichten: 316
- Lid geworden op: 09 feb 2011, 20:16
- Locatie: Sint-Truiden
- Uitgedeelde bedankjes: 12 keer
- Bedankt: 27 keer
-
- Starter Plus
- Berichten: 25
- Lid geworden op: 28 jul 2011, 09:45
- Uitgedeelde bedankjes: 1 keer
- Bedankt: 2 keer
Dan heb je in de DB nog een full table scan; dus als het performant moet zijn ben je er nog niet. (Al wel enorm veel performanter dan eerst de DB binnen te trekken natuurlijk).
Je zou dan beter ook een index hebben op de opgekuiste waarde...
Je zou dan beter ook een index hebben op de opgekuiste waarde...
Code: Selecteer alles
create unique index bestelnummer_idx on bestelling (replace(bestelnummer, '-'))
- guntherstassen
- Pro Member
- Berichten: 316
- Lid geworden op: 09 feb 2011, 20:16
- Locatie: Sint-Truiden
- Uitgedeelde bedankjes: 12 keer
- Bedankt: 27 keer
bedankt voor jullie reactie. de snelheid van de query is nu veel beter 

-
- Pro Member
- Berichten: 370
- Lid geworden op: 30 mei 2012, 10:31
- Uitgedeelde bedankjes: 29 keer
- Bedankt: 30 keer
Als je de programmatie niet kan aanpassen is het handig om gewoon in een aparte kolom het bestelnr te bewaren zonder de -
Ik weet niet welke database vendor je hebt, maar als default verwijzing niet gaat kan je dat nog altijd via een trigger.
Ik weet niet welke database vendor je hebt, maar als default verwijzing niet gaat kan je dat nog altijd via een trigger.
-
- Elite Poster
- Berichten: 4272
- Lid geworden op: 17 apr 2019, 11:47
- Uitgedeelde bedankjes: 128 keer
- Bedankt: 172 keer
- Recent bedankt: 2 keer
Op het eerste gezicht zit er niet echt een logica in de formatering (het is alvast niet 1-5-2).tizzen33 schreef:Kan je niet beter aan je zoekparameter de dashes toevoegen voor je de query uitvoert?