MS SQL 2005, рдкреИрд░рд╛рдореАрдЯрд░ рд╕реВрдБрдШрдирд╛, рд╕рдВрдЧреНрд░рд╣рд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд░реЛрдХрдирд╛

рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдореИрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛: рдХреНрд╡реЗрд░реА рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ рдореЗрдВ рд╢реБрд░реВ рдХреА рдЧрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдиреЗ рдПрдХ рд╕реЗрдХрдВрдб рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛, рдФрд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 50 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рд╕рдВрдЧреНрд░рд╣реАрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдерд╛ред рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реНрдирд┐рдлрд┐рдВрдЧ рдХрд╛ рджреЛрд╖ рдирд┐рдХрд▓рд╛, рдЬрд┐рд╕реЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред :)

рднрдВрдбрд╛рд░рдг рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╕рдордп, SQL рд╕рд░реНрд╡рд░ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЬрдирд╛ рдмрдирд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдпрд╣ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЗрдирдкреБрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реЛрдВрдЧреЗред рдЗрд╕реЗ Parameter Sniffing рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЬрдм рдкреИрд░рд╛рдореАрдЯрд░ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдЕрдиреБрд░реЛрдз рдХреЗ рдЗрд╖реНрдЯрддрдо рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЬрдирд╛ рдХреБрдЫ рд╣рдж рддрдХ рдЕрдиреБрдЪрд┐рдд рд╣реЛ рд╕рдХрддреА рд╣реИред

рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реВрдБрдШрдиреЗ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╣реИред рдпрд╣ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрдирдкреБрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдорд╛рди рдЙрдиреНрд╣реЗрдВ рд╕реМрдВрдкреЗ рдЬрд╛рддреЗ рд╣реИрдВред

ALTER PROCEDURE [dbo].[REPORT_USERS_BRANCHES]

@branchId INT ,
@branchName NVARCHAR(100) OUTPUT ,
@filterByPaymentActivity VARCHAR (50),
@dateFrom DATETIME,
@dateTo DATETIME

AS

DECLARE @dtFrom DATETIME, @dtTo DATETIME, @filter VARCHAR (50), @bId INT
SET @bId = @branchId
SET @dtFrom = @DateFrom
SET @dtTo = @DateTo
SET @filter = @filterByPaymentActivity
...


* This source code was highlighted with Source Code Highlighter .


рдЖрдк рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рд╡рд┐рдХрд▓реНрдк (OPTION (OPTIMIZE FOR ...)) рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд░ рдмрд╛рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рджреЛрдмрд╛рд░рд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рддреЗ рд╕рдордп рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВред
рд▓реЗрдХрд┐рди рдЗрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдиреЗ рдореЗрд░реА рдорджрдж рдирд╣реАрдВ рдХреАред
рдПрдХ рдбрд┐рд╕реАрдЬрди рдЯреНрд░реА рдПрд╕рдкреА рд╡рд┐рдзрд┐ рднреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд░рд╛рдХреНрд╖рд╕реА рд╣реИред

ps: рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдмреИрд╕рд╛рдЦреА рд╣реИ, рдФрд░ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╣реА рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдореБрдЭреЗ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рд╢рд╛рдпрдж DBA рдпрд╣рд╛рдБ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╕рд▓рд╛рд╣ рджреЗрдВрдЧреЗ?

Source: https://habr.com/ru/post/In109580/


All Articles