Just nu i M3-nätverket
Jump to content

Vilken fråga är effektivare / snabbare?


FiEnD

Recommended Posts

Hej!

 

Jag och en kompis har tvistat lite om vilken fråga som går fortast att köra / om de går lika fort att köra av dessa typer:

 

Fråga1:

select Fieldname from tbl_TableName where Field1 = '0' or Field2 = '0' or Field3 = '0' or Field4 = '0' .....

 

eller

 

Fråga2:

select Fieldname from tbl_TableName where 0 in (Field1, Field2, Field3, Field4....)

 

Vad har ni för erfarenheter att dela med er utav? :)

Min tanke är att fråga 2 skulle vara bättre / snabbare att använda sig utav.

 

Mvh Fredrik

 

Link to comment
Share on other sites

-Patrik Johansson-

Jag ser det inte som självklart att fråga 2 skulle vara snabbare. Visst det beror väl på hur in-funktionen implementeras men jag misstänker att även den skrivs om till någon slags boolskt uttryck i databasen... så jag skulle nog säga att frågorna är likvärdiga.

 

//Patrik J

"Insanity: doing the same thing over and over again and expecting different results."
- citat av Albert Einstein

 

[inlägget ändrat 2005-02-23 23:35:12 av -Patrik Johansson-]

Link to comment
Share on other sites

Fråga 2 ser enklare ut, men det betyder inte (precis som Patrik konstaterat) att den också är snabbare. Databashanterare måste ändå tolka om frågan till sin "interna språk" och då blir frågorna förmodligen lika. Den måste ju ändå jämföra med samma fält.

 

Vad använder du för databas? I de flesta databashanteringssystem kan du prestandatesta SQL-frågor, utifrån hur många rader som måste läsas och jämföras osv...

 

_________

TicoRoman - Anfall är bästa försvar

 

Link to comment
Share on other sites

Jag / vi använder både MySQL och MS-SQL som databaser.

Skulle gärna vilja få lite tips på hur man prestandatestar dessa olika frågor på dessa två system.

(förrutom att kolla körtiden i QueryAnalyzern då alltså)

 

Mvh Fredrik

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...