Just nu i M3-nätverket
Gå till innehåll

SQL <> x vs = x Optimering


Dieselmannen

Rekommendera Poster

Jag har en kolumn som jag en gång i tiden tänkte fylla med 0,1,2 eller 3, men nu fyller jag den bara med 0 eller 1.

 

Jag sitter och funderar vad som är snabbast av ex.

 

SELECT * FROM BLA WHERE kolumn <> 0

och

SELECT * FROM BLA WHERE kolumn = 1

 

Är det idé att gånger som denna att använda "=1", dvs är det någon som vet att det i detta fall är bättre?

Länk till kommentar
Dela på andra webbplatser

Vad som är snabbast beror på databasen och eventuellt tabellens datafördelning. Det är möjligt att kolumn = 1 kan vara snabbare, eller så spelar det ingen som helst roll.

 

Själv skulle jag dock tänka mig mycket noga för innan jag ens tänkte tanken att använda "kolumn = 1". Risken är stor att någonstans, någon gång glöms optimeringen bort, och så kommer det lite 2:or och 3:or i tabellen och något system slutar fungera som det ska.

 

"Smart" kod har en tendens att i slutänden kostat mer än det smakat.

 

Skriv säker och tydlig kod!

Länk till kommentar
Dela på andra webbplatser

Om du bara använder 1 eller 0 (och räknar med att det fortsättningsvis skall vara så) kan du ju även fundera på om du inte skall göra om fältet till boolskt.

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...