У меня есть 6 000 000 записей, и я хочу извлечь из них 10 записей, поскольку я хочу отобразить только 10 записей в сетке, моя хранимая процедура работает правильно, когда я выбираю записи между 1-10000 EG (500- 510) после этого время выполнения увеличивается, когда номер строки увеличивается, например, если я получаю запись ч / б 1,00,000-1,00,010, для выполнения
требуется больше времени
Может кто-нибудь, пожалуйста, помогите мне, я использовал ROW_NUMBER (), чтобы получить номер строки номера и использовать между ними для получения данных.
Пожалуйста, дайте оптимизированный способ получения записей
Хранимая процедура создает SQL-запрос, как показано ниже
У меня есть 6 000 000 записей, и я хочу извлечь из них 10 записей, поскольку я хочу отображать только 10 записей в сетке, моя хранимая процедура работает правильно, когда я извлекаю записи между 1-10000 EG (500-510) после что время выполнения увеличивается при увеличении номера строки, например, если я получаю запись ч / б 1,00,000-1,00,010, требуется больше времени для выполнения
Может ли кто-нибудь, пожалуйста, помогите мне, я использовал ROW_NUMBER (), чтобы получить номер строки номера и между ними для получения данных.
Пожалуйста, дайте оптимизированный способ получения записей
Хранимая процедура создает запрос sql, как показано ниже
SELECT FuelClaimId from
( SELECT fc.FuelClaimId,ROW_NUMBER() OVER ( order by fc.FuelClaimId ) AS RowNum
from FuelClaims fc
INNER JOIN Vehicles v on fc.VehicleId =v.VehicleId
INNER JOIN Drivers d on d.DriverId =v.OfficialID
INNER JOIN Departments de on de.DepartmentId =d.DepartmentId
INNER JOIN Provinces p on de.ProvinceId =p.ProvinceId
INNER JOIN FuelRates f on f.FuelRateId =fc.FuelRateId
INNER JOIN FuelClaimStatuses fs on fs.FuelClaimStatusId= fc.statusid
INNER JOIN LogsheetMonths l on l.LogsheetMonthId =f.LogsheetMonthId
Where fc.IsDeleted = 0) AS MyDerivedTable WHERE MyDerivedTable.RowNum BETWEEN
600000 And 600010