/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
T-SQL performance
Fra : Morten Snedker


Dato : 30-01-01 12:08

SELECT * FROM QPrintVATSpecifications WHERE ProductCode<>'70'
SELECT * FROM QPrintVATSpecifications WHERE ProductCode Not Like '70'

Er der nogen performance forskelle i de to ovenstående ?


--
Morten Snedker
www.access-dk.mobilixnet.dk
/www.global-it.dk

 
 
Lauritz Jensen (30-01-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 30-01-01 12:14

Morten Snedker wrote:
>
> SELECT * FROM QPrintVATSpecifications WHERE ProductCode<>'70'
> SELECT * FROM QPrintVATSpecifications WHERE ProductCode Not Like '70'
>
> Er der nogen performance forskelle i de to ovenstående ?

Det kommer an på datatype brugt til "ProductCode". Men hvad siger query
analyseren og profileren?

--
Lauritz

Morten Snedker (30-01-2001)
Kommentar
Fra : Morten Snedker


Dato : 30-01-01 13:29

On Tue, 30 Jan 2001 12:13:42 +0100, Lauritz Jensen
<lauritz2@hotmail.com> wrote:

>Morten Snedker wrote:
>>
>> SELECT * FROM QPrintVATSpecifications WHERE ProductCode<>'70'
>> SELECT * FROM QPrintVATSpecifications WHERE ProductCode Not Like '70'
>>
>> Er der nogen performance forskelle i de to ovenstående ?
>
>Det kommer an på datatype brugt til "ProductCode". Men hvad siger query
>analyseren og profileren?

Det kører i en Access-database, så det ved jeg ikke lige. Men det er
af typen tekst. Jeg mener blot at have hørt, når vi taler SQL-Server,
at brug af <> vil resultere i en tablescan.....hvis det så betyder at
Not Like IKKE (nødvendigvis) resulterer i en tablescan, ja så må den
jo være at foretrække.

Men ville blot høre, om nogle af jer havde haft nogle erfaringer i den
retning.



--
Morten Snedker
www.access-dk.mobilixnet.dk
/www.global-it.dk

Stig Johansen (30-01-2001)
Kommentar
Fra : Stig Johansen


Dato : 30-01-01 14:15

Hej.

"Morten Snedker" <access-dk@leave-this-out.mobilixnet.dk> wrote in message
news:3a76b29f.8553339@news.stofanet.dk...
> On Tue, 30 Jan 2001 12:13:42 +0100, Lauritz Jensen
> <lauritz2@hotmail.com> wrote:
>
> >Morten Snedker wrote:
> >>
> >> SELECT * FROM QPrintVATSpecifications WHERE ProductCode<>'70'
> >> SELECT * FROM QPrintVATSpecifications WHERE ProductCode Not Like '70'
> >>
> >> Er der nogen performance forskelle i de to ovenstående ?
> >
> >Det kommer an på datatype brugt til "ProductCode". Men hvad siger query
> >analyseren og profileren?
>
> Det kører i en Access-database, så det ved jeg ikke lige. Men det er
> af typen tekst. Jeg mener blot at have hørt, når vi taler SQL-Server,
> at brug af <> vil resultere i en tablescan.....hvis det så betyder at
> Not Like IKKE (nødvendigvis) resulterer i en tablescan, ja så må den
> jo være at foretrække.
>

Et kort citat fra BOL:
....
Minimize the use of not equal operations, <> or !=. SQL Server has to scan a
table or index to find all values to see if they are not equal to the value
given in the expression. Try rephrasing the expression using ranges:
WHERE KeyColumn < 'TestValue' AND KeyColumn > 'TestValue'
....
Det indbefatter selvfølgelig også din NOT LIKE ...

Kig evt også under overskriften:
Transact-SQL Tips

mvh
Stig Johansen.





Hendrik Hansen (30-01-2001)
Kommentar
Fra : Hendrik Hansen


Dato : 30-01-01 19:27


"Morten Snedker" <access-dk@leave-this-out.mobilixnet.dk> wrote in message
news:3a76b29f.8553339@news.stofanet.dk...
> Det kører i en Access-database, så det ved jeg ikke lige. Men det er
> af typen tekst. Jeg mener blot at have hørt, når vi taler SQL-Server,
> at brug af <> vil resultere i en tablescan.....hvis det så betyder at
> Not Like IKKE (nødvendigvis) resulterer i en tablescan, ja så må den
> jo være at foretrække.

Med en NOT ProductCode='70' vil du ihvertfald være ude over det problem og
kunne bruge indexet.

Mvh. Hendrik




Søg
Reklame
Statistik
Spørgsmål : 177518
Tips : 31968
Nyheder : 719565
Indlæg : 6408647
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste