sadaf_
شنبه 06 اسفند 1390, 10:05 صبح
سلام
من کوئری های سنگینی دارم که رکوردهای اون از مرز 65000 و 93000 رد شده
و دنبال راهکارهای سریع هستم یکی از دوستان این روش رو پیشنهاد کردن می خواستم ببینم روش خوبیه یا نه؟
آیا نیازی به اصلاح داره یا نه ؟
[QUOTE=sadaf_;1450711]
create PROCEDURE [dbo].[sp_PagedItem]
(@Page int,@RecsPerPage int)
AS
CREATE TABLE #TempItems
(
ID intIDENTITY,
,,,)
INSERT
INTO #TempItems
(,,)
SELECT,,FROM myTable
DECLARE
FirstRec int, @LastRec int
SELECT
@FirstRec =(@Page - 1)* @RecsPerPage
SELECT
@LastRec =(@Page * @RecsPerPage + 1)
SELECT
*,MoreRecords
=(SELECTCOUNT(*)
FROM #TempItems TI
WHERE TI.ID >= @LastRec
)
FROM
#TempItems
WHERE
ID > @FirstRec AND ID < @LastRec
من کوئری های سنگینی دارم که رکوردهای اون از مرز 65000 و 93000 رد شده
و دنبال راهکارهای سریع هستم یکی از دوستان این روش رو پیشنهاد کردن می خواستم ببینم روش خوبیه یا نه؟
آیا نیازی به اصلاح داره یا نه ؟
[QUOTE=sadaf_;1450711]
create PROCEDURE [dbo].[sp_PagedItem]
(@Page int,@RecsPerPage int)
AS
CREATE TABLE #TempItems
(
ID intIDENTITY,
,,,)
INSERT
INTO #TempItems
(,,)
SELECT,,FROM myTable
DECLARE
FirstRec int, @LastRec int
SELECT
@FirstRec =(@Page - 1)* @RecsPerPage
SELECT
@LastRec =(@Page * @RecsPerPage + 1)
SELECT
*,MoreRecords
=(SELECTCOUNT(*)
FROM #TempItems TI
WHERE TI.ID >= @LastRec
)
FROM
#TempItems
WHERE
ID > @FirstRec AND ID < @LastRec