350 000 行のテーブルがあります。トップ 50 を検索すると、最も古い 50 行が取得されます。ビンが挿入された最後の50行を取得するために、SQLサーバーを下から開始する方法はありますか?
パフォーマンスの問題があるため、すべてのレコードをループする構文は使用できません。
Id で注文を追加すると、1 秒ではなく 14 秒かかります。動的 SQL を使用して、動的テーブル構造の検索機能を解決します。
ALTER Procedure [CS.Core].[spDynamicSearchInsuranceDemoCar]
@ChassisNumber AS NVARCHAR(50) = NULL、@FirstOwner AS BIT = NULL、@GroupId AS INT = NULL、@InsuranceNumber AS INT = NULL、@InsuredId AS INT = NULL、@Model AS NVARCHAR(50) = NULL、@OwnerYearOfBirth AS INT = NULL、@RegistrationNumber AS NVARCHAR(12) = NULL、@StakeholderId AS INT = NULL、@StatusId AS INT = NULL、@UserId as int、@LanguageId as int AS SET NOCOUNT ON; BEGIN DECLARE @sql nvarchar(MAX),@paramlist nvarchar(4000) Select @sql ='SELECT TOP 50 Insurance.InsuranceId, ISNULL(ProductCaption.CaptionText, [CS.Core].Entity.Name) AS Product_462, Stakeholder.RefStakeholderName AS Stakeholder_1093、ValidFrom_925 としての Insurance.ValidFrom、Insurance.InsuranceNumber、Insurance.GroupId、Insurance.StatusId、Insurance.ValidFrom、DemoCar.RegistrationNumber、DemoCar.Year、DemoCar.ChassisNumber、DemoCar.FirstOwner、DemoCar。
0 SELECT @sql = @sql + ' AND ([CS.Entity].[DemoCar].[RegistrationNumber] Like @RegistrationNumber)' ELSE SELECT @sql = @sql + ' AND ([CS.Entity].[DemoCar]. [RegistrationNumber] = @RegistrationNumber)' IF @StakeholderId IS NOT NULL SELECT @sql = @sql + ' AND ([CS.Entity].[Insurance].[StakeholderId] = @StakeholderId)' IF @StatusId IS NOT NULL SELECT @ sql = @sql + ' AND ([CS.Entity].[Insurance].[StatusId] = @StatusId)' SELECT @sql = @sql + ''
SELECT @paramlist = '@ChassisNumber AS NVARCHAR(50) = NULL、@FirstOwner AS BIT = NULL、@GroupId AS INT = NULL、@InsuranceNumber AS INT = NULL、@InsuredId AS INT = NULL、@Model AS NVARCHAR(50) = NULL, @OwnerYearOfBirth AS INT = NULL, @RegistrationNumber AS NVARCHAR(12) = NULL, @StakeholderId AS INT = NULL, @StatusId AS INT = NULL, @UserId as int, @LanguageId as int' EXEC sp_executesql @sql, @ paramlist,@ChassisNumber,@FirstOwner,@GroupId,@InsuranceNumber,@InsuredId,@Model,@OwnerYearOfBirth,@RegistrationNumber,@StakeholderId,@StatusId,@UserId, @LanguageId END