In de zoektoch naar een goede paging functie ben ik al vaak stuk gelopen
(aantal records = 10000)
temptables -> te traag ( duur 7 sec ofzo)
top functie -> ondersteunt geen distinct
rowcount -> sortering niet mogelijk op niet-unieke koloms
De topfunctie werkt nu nog het snelste
Echter in de @fields, zit een distinct , welke niet in de subquery's zit en daardoor te weinig records teruggeeft. (bijvoorbeeld 15 records, als de pagesize 20 is)
Iemand een oplossing hiervoor ?
(aantal records = 10000)
temptables -> te traag ( duur 7 sec ofzo)
top functie -> ondersteunt geen distinct
rowcount -> sortering niet mogelijk op niet-unieke koloms
De topfunctie werkt nu nog het snelste
code:
1
2
3
4
5
6
7
| (
'SELECT' + @fields + ' FROM ' + @tables + ' WHERE ' + @PrimaryKey + ' IN
(SELECT ' + @primarykey + ' TOP ' + @SizeString + ' ' + @PrimaryKey + ' FROM ' + @Tables + ' WHERE ' + @QueryFilter + ' AND ' + @PrimaryKey + ' NOT IN
(SELECT ' + @primarykey + ' TOP ' + @PrevString + ' ' + @PrimaryKey + ' FROM ' + @Tables + ' WHERE ' + @QueryFilter + ' ORDER BY ' + @SortField + ' ' + @SortOrder + ')
ORDER BY ' + @SortField +' ' + @SortOrder + ')' + @SortOrder + ',' + @primarykey + '
ORDER BY ' + @SortField + ' ' + @SortOrder + ',' + @primarykey
) |
Echter in de @fields, zit een distinct , welke niet in de subquery's zit en daardoor te weinig records teruggeeft. (bijvoorbeeld 15 records, als de pagesize 20 is)
Iemand een oplossing hiervoor ?