Varför är det bättre att hålla på med AbsoluteSize, PageSize, PageCount och liknande i ADO istället för nästlade SQLer eller SELECT TOP 5 * FROM tblFoo WHERE FooId NOT IN (SELECT TOP 5 FooId FROM tblFoo)?
rs.Move som jag använt tidigare antar jag suger. Men varför är det bättre att hämta ut ett helt Recordset som man med ADO hoppar runt i än att skriva en SQL som enbart hämtar ut just den delen..?
I.o.f.s. är det smidigare med ADO så inte mig emot, men jag undrar bara...
PS. Nu blandar jag inte in 2 dimensionella arrays. Det är inte tänkt som ett alternativ...
------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/
mrblondeMedlem sedan aug. 20012 349 inlägg
Varför är det bättre
Vem har sagt det?
Mer läsbarkod kanske? Jag vet inte.
------------------
"Utan tvivel är man inte klok"
Tage Danielsson
LarsGMedlem sedan dec. 200012 464 inlägg SQL-frågan med not in är kostsam.
PatrikB gjorde jämförelser mellan olika metoder som finns redovisade här i något inlägg.
Det är lite olika faktorer som spelar in, hur ser tabellerna ut, hur mycket data finns det så det är möjligt att i vissa lägen är det det bättre med not in.
------------------
essentitia preter non sans multiplicandum
PatrikBMedlem sedan mars 20002 836 inlägg ... om man tex kör MS-SQL server o då med hjälp av SP.
Mot Access db suger det rejält
cya,
PatrikB
------------------
'## -- second place is the first looser -- ##'
Okej, men nästlade SQLer, är inte de snabbare då?
------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/
PatrikBMedlem sedan mars 20002 836 inlägg Av typen???:
SELECT TOP 5 * FROM tblFoo WHERE FooId NOT IN (SELECT TOP 5 FooId FROM tblFoo)
Nej, de tenderar att bli mycket långsamma, i varje fall i Access, men snabbas upp i SQL Server med hjälp av SP (Stored Procedures).
Har inte gjort några test just i SQL Servern och dessa, men just mot Access db'n som är den flitigast använda här suger denna typ av "nestlade" (SubQueries) SQL-frågor.
cya,
PatrikB
------------------
'## -- second place is the first looser -- ##'
LarsGMedlem sedan dec. 200012 464 inlägg Vad menar du (Erik alltså) ?
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 11 dec 2001]
Går det inte skriva på ett sätt så att om man vill ha tjugo från positionen 60 så tar man de 80 översta, sen desc på dem och de tjugo översta där och vänder en gång till..?
------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/
Men PatrikB, vanliga frågor mot SQL Server då?
------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/
LarsGMedlem sedan dec. 200012 464 inlägg så här alltså
select top 20 * from
(select top 80 * from t order by id desc
) as s order by id asc
vad menar du med vanliga frågor?
------------------
essentitia preter non sans multiplicandum
Inte SP alltså...
------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/
Och är det någon skillnad på rs.Move och rs.PageSize/rs.AbsolutePage?
------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/
PatrikBMedlem sedan mars 20002 836 inlägg Jepp:
rs.Move = Gå till post n i recordsetet
rs.PageSize = Hur många poster ska det finnas "per sida"/visning
rs.AbsolutPage = Visa sida n i recordsetet
cya,
PatrikB
------------------
'## -- second place is the first looser -- ##'
emissionMedlem sedan dec. 19996 721 inlägg Det är aldrig fel att göra både och. På sid 1 är ju bara TOP X intressant, på sid 2 TOP 2X etc.
/G
PatrikB, jag vet vad skillnaden är, men jag undrade om det är någon skillnad prestandamässigt...
------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/