login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Gemakkelijke en interresante tips en hints.

Offline Ontani - 13/01/2010 10:10
Avatar van OntaniGouden medailleGouden medailleGouden medailleGouden medaille

-1
Ik krijg zo goed als dagelijks m'n mailtje met tips van SQLServerCentral.com en der zitten vaak heel goeie tips bij.

Zo was er vandaag eentje in verband met een SQL Select met in de where "like '%son'" het probleem met die like is dat er geen indexen gebruikt kunnen worden en dus alle records doorlopen moeten worden.

Een briljant idee was een extra kolom toe te voegen met de omgekeerde waarde van de kolom waarop je wil zoeken.

Heb je een kolom met de waardes: son, grandson, great grandson
maak je een kolom bij met de waardes nos, nosdnarg, nosdnarg taerg

nu kan je ipv like '%son' -> like 'nos%' doen.

Deze simpele oplossing zorgt voor een verviervoudiging van je performance in dit geval.

Artikel kan je vinden op http://www.sqls...-SQL/69002/

Registreren voor de nieuwsbrief op:
http://www.sqlservercentral.com/

5 antwoorden

Gesponsorde links
Offline marten - 13/01/2010 10:18
Avatar van marten Beheerder Inderdaad een goede tip!
Offline Ontani - 13/01/2010 15:36
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
Ook een toffe hint maar dit gaat enkel voor MsSQL gelden, er wordt vaak gezegd gebruik geen 'SELECT * FROM table' maar selecteer alle kolommen 'SELECT col1, col2, col6, col548 FROM table'.

Maar wie van de developers gaat daarheen luisteren als SELECT * ook werkt.

Je kan in MsSQL rechten instellen op kolommen, voeg een kolom toe aan je tabel, zorg dat de gebruiker geen leesrechten heeft op deze kolom.

Bij een 'SELECT * FROM table' zal er dan een melding komen dat er geen lees rechten zijn op die tabel op die kolom.
Offline vinTage - 13/01/2010 15:43 (laatste wijziging 13/01/2010 15:45)
Avatar van vinTage Nieuw lid Nu vind ik dat select ding wel grappig verzonnen, maar dat gaat alleen op als je op woorden zoekt die daadwerkelijk beginnen met "die" letters.

Een vb:
enterFrame zou dus falen als ik zoek naar onEnterFrame

Dus blijf ik maar full text searchen 


edit: oops mijn voorbeeld moet dus omgedraaid worden, maar you get the picture 
onEnter levert dus niks op.
Offline Ontani - 13/01/2010 16:06
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
't gaat net om het feit dat men NIET weet met welke letter het begint daarom staat er dan ook %enterFrame.

in die kolom zou dan staan 'emarFretnEon' en er zou gezocht worden op 'emarFretne%'. dus zou onEnterFrame wel gevonden worden.
Offline vinTage - 13/01/2010 16:19
Avatar van vinTage Nieuw lid ha, je hebt gelijk, ik was aan het blunderen.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.358s