Just nu i M3-nätverket
Jump to content

Paging med Temptable


sudd

Recommended Posts

Jag har precis ändrat pagingen på min sajt från vanlig Recordset-paging till att använda Stored Procedures som skapar en Temp table. Det går mkt snabbare med den nya lösningen och jag funderar på att lägga in det på fler ställen.

 

Finns det några nackdelar med Temptabeller som man bör känna till?

 

Link to comment
Share on other sites

Magnus Gladh

Att de tar minne och prestanda. Det är säkert dock så att de tar mindre minne och prestande än vanlig recordset-paging.

 

Jag hoppas du gör en riktig "temptabell" med # framför och inte bara skapar en som heter Temp och sedan dropar den, för du skapar du en fysisk tabell på server och kommer en ny användare in och vill skapa den så får han ett fel att tabellen redan finns.

 

Men det gör du säkert om du läst någon guide någonstans.

 

- Magnus

-----------------------------------------------------

Jag är inte kaxig, jag är bara så jävla bäst...

 

Link to comment
Share on other sites

Tack för ditt svar Magnus!

 

Har du tips på någon annan bättre typ av paging för ASP? Vet att det utvecklats en del till .NET, men finns det någon bra variant till vanlig ASP?

 

Link to comment
Share on other sites

Magnus Gladh

Nope inte för SQL Server.

 

För Oracle och MySQL kan man i SQL frågan ta ut vilka rader det är man vill ha tillbaka, så med de DBMS så behövs inga temptabeller, men i SQL Server så får man stå ut med dem.

 

Man kan bygga ihop en SQL fråga som fixar det ändå, men för att det skall bli lätt så sorterar man på ID och tar sedan ut nästa 10 poster efter ett givet ID. Typ så här.

 

SELECT TOP 10 * FROM [tabell] WHERE ID > 10 ORDER BY ID

 

så får man posterna 10-20.. nästa fråga blir då

 

SELECT TOP 10 * FROM [tabell] WHERE ID > 20 ORDER BY ID

 

osv osv, det gär att lösa genom att sortera på annat också men blir mycket jobbigare...

 

- Magnus

-----------------------------------------------------

Jag är inte kaxig, jag är bara så jävla bäst...

 

Link to comment
Share on other sites

Hej!

 

Du kan även försöka dig på en pagineringsfunktion med hjälp av en enkel serverside cursor. Det är enkelt att ange "page" storlek, och sedan kan du snabbt hoppa till rätt "page" och visa det innehållet.

 

Ovan brukar vara det enklaste och smidigaste.

 

/foo

 

Link to comment
Share on other sites

Archived

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



×
×
  • Create New...