рд╡реЗрдм рд╕рд╛рдЗрдЬрд╝ "MS SQL рд╕рд░реНрд╡рд░ рдореЗрдВ рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрди рдЖрджреЗрд╢ рдФрд░ рдХреНрд╡реЗрд░реА рдпреЛрдЬрдирд╛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ"

рдлрд┐рд░ рд╕реЗ рдирдорд╕реНрдХрд╛рд░!

рд╕рд╣рдХрд░реНрдореА, рдЬрдирд╡рд░реА рдХреЗ рдЕрдВрддрд┐рдо рджрд┐рди, рд╣рдо "рдПрдордПрд╕ SQL тАЛтАЛрд╕рд░реНрд╡рд░ рдбреЗрд╡рд▓рдкрд░" рдкрд╛рдареНрдпрдХреНрд░рдо рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рд╣рдордиреЗ рдПрдХ рд╡рд┐рд╖рдпрдЧрдд рдЦреБрд▓рд╛ рд╕рдмрдХ рд▓рд┐рдпрд╛ рд╣реИред рдЗрд╕ рдкрд░ рд╣рдордиреЗ рдмрд╛рдд рдХреА рдХрд┐ рдХреИрд╕реЗ MS SQL Server рдПрдХ SELECT рдХреНрд╡реЗрд░реА рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдХрд┐рд╕ рдХреНрд░рдо рдореЗрдВ рдФрд░ рдХрд┐рд╕рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдФрд░ рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рди рдХреЛ рдкрдврд╝рдиреЗ рдореЗрдВ рднреА рдереЛрдбрд╝рд╛ рдбреВрдм рдЧрдпрд╛ред

рд╡реНрдпрд╛рдЦреНрдпрд╛рддрд╛ - рдХреНрд░рд┐рд╕реНрдЯреАрдирд╛ рдХреБрдЪреЗрд░реЛрд╡рд╛ , рд░реВрд╕ рдХреЗ рд╕рд░реНрдмреИрдВрдХ рдореЗрдВ рдбреЗрдЯрд╛ рдореЙрдбрд▓ рд╡рд╛рд╕реНрддреБрдХрд╛рд░ред


рд▓рдХреНрд╖реНрдп рдФрд░ рд╡реЗрдмрд┐рдирд╛рд░ рдХрд╛ рдорд╛рд░реНрдЧ

рд╡реЗрдмрд┐рдирд╛рд░ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рдХреНрд╖реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рдЧрдП рдереЗ:

  1. рджреЗрдЦреЗрдВ рдХрд┐ рд╕рд░реНрд╡рд░ рдЕрдиреБрд░реЛрдз рдХреЛ рдХреИрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛрддрд╛ рд╣реИред
  2. рдПрдХ рдХреНрд╡реЗрд░реА рдпреЛрдЬрдирд╛ рдкрдврд╝рдирд╛ рд╕реАрдЦрдирд╛ред

рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╢рд┐рдХреНрд╖рдХ рдиреЗ рдПрдХ рд╕рд░рд▓ рд▓реЗрдХрд┐рди рдкреНрд░рднрд╛рд╡реА рдорд╛рд░реНрдЧ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛:



рдореБрдЭреЗ рдПрдХ рдХреНрд╡реЗрд░реА рдпреЛрдЬрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?

рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рди рдПрдХ рдмрд╣реБрдд рд╣реА рдЙрдкрдпреЛрдЧреА рдЙрдкрдХрд░рдг рд╣реИ, рдЬреЛ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдРрд╕рд╛ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЕрдиреБрд░реЛрдз рдХреЗ рдпрд╛рдВрддреНрд░рд┐рдХреА рдХреЛ рдЬрд╛рдирдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ SQL рд╕рд░реНрд╡рд░ рдХреЗ рдЕрдВрджрд░ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЖрдк рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдХреНрд╡реЗрд░реА рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдпрд╣ рдмрд╣реБрдд рдорджрдж рдХрд░реЗрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдиреБрдХреВрд▓рди рдХреЗ рджреМрд░рд╛рдиред

рд╣рдо рдПрдХ рд╕реЗрд▓реЗрдХреНрдЯ рдХреНрд╡реЗрд░реА рдХреИрд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ?

рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╕реЗрд▓реЗрдХреНрдЯ рдХреНрд╡реЗрд░реА рдХреНрдпрд╛ рджрд┐рдЦрддреА рд╣реИ:

[рдлрд╝реАрд▓реНрдб 1], [рдлрд╝реАрд▓реНрдб 2] рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ ...
рд╣рдо рдХрд┐рди рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдЪреБрдирддреЗ рд╣реИрдВ?
[рддрд╛рд▓рд┐рдХрд╛] рд╕реЗ
рдХрд╣рд╛рдБ рд╕реЗ?
рдЬрд╣рд╛рдВ [рд╕реНрдерд┐рддрд┐рдпрд╛рдВ]
рдХрд╣рд╛рдВ рдХреА рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╣реИрдВ
рдЧреНрд░реБрдк BY [field1]
рдЦреЗрддреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдореВрд╣
[рд╣рд╛рд▓рд╛рдд]
рдРрд╕реА рдФрд░ рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рд╣реЛрдирд╛
рдЖрджреЗрд╢ рджреНрд╡рд╛рд░рд╛ [field1]
рдЖрджреЗрд╢ рджреЗрдирд╛ (рдХреНрд░рдордмрджреНрдз рдХрд░рдирд╛)

рдХреИрд╕реЗ рд╕рдордЭреЗрдВ рдХрд┐ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛рдВ рдЬрд╛рдирд╛ рд╣реИ?

рдЕрдиреБрд░реЛрдз рдЖрдиреЗ рдкрд░ рд╕рд░реНрд╡рд░ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛рдВ рдЬрд╛рдирд╛ рд╣реИред FROM рдХрдорд╛рдВрдб рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдпрд╣рд╛рдБ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рд╕реВрдЪреА (рдпрд╛ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдирд╛рдо) рд╣реЛрдЧреАред

рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдорд╛рд░рд╛ рд╕рд░реНрд╡рд░ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдмрдЯрд▓рд░ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдЫреБрдЯреНрдЯреА рдкрд░ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХрд╛ рдЖрджреЗрд╢ рджреЗрддреЗ рд╣реИрдВред рддрджрдиреБрд╕рд╛рд░, рдмрдЯрд▓рд░ рд╕реЛрдЪрдиреЗ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрд╡рд╢реНрдпрдХ рдЪреАрдЬреЛрдВ рдХреЛ рдХрд┐рд╕ рдЕрд▓рдорд╛рд░реА рдореЗрдВ (рдХрд┐рд╕ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рд▓реЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)? рдФрд░ рддрд╛рдХрд┐ рд╣рдорд╛рд░рд╛ рдмрдЯрд▓рд░ рдЕрдкрдирд╛ рдХрд╛рдо рдЖрд╕рд╛рдиреА рд╕реЗ рдкреВрд░рд╛ рдХрд░ рд╕рдХреЗ, рд╣рдо FROM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред



рдХреИрд╕реЗ рд╕рдордЭреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдбреЗрдЯрд╛ рд▓реЗрдирд╛ рд╣реИ?

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдмрдЯрд▓рд░ рдиреЗ рд╕рд╣реА рдЕрд▓рдорд╛рд░реА рдвреВрдВрдвреА рдФрд░ рдЙрд╕реЗ рдЦреЛрд▓рд╛ред рд▓реЗрдХрд┐рди рдХрд┐рди рдЪреАрдЬреЛрдВ рдХреЛ рд▓реЗрдирд╛ рд╣реИ? рд╢рд╛рдпрдж рд╣рдо рд╕реНрдХреА рд░рд┐рд╕реЙрд░реНрдЯ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ? рдпрд╛ рд╢рд╛рдпрдж рдПрдХ рдЧрд░реНрдо рдзреВрдк рд╕рдореБрджреНрд░ рддрдЯ рдкрд░? рд╣рдорд╛рд░реА рдЪреАрдЬреЛрдВ рдХреЛ рдореМрд╕рдо рд╕реЗ рдорд┐рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, WHERE рдХрдорд╛рдВрдб рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИ, рдЬреЛ рд╢рд░реНрддреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдпрд╛рдиреА рд╣рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдЧрд░реНрдо рд╣реИ, рддреЛ рд╣рдо рд╕реНрд▓реЗрдЯреНрд╕, рд╢рд░реНрдЯ рдФрд░ рд╕реНрд╡рд┐рдорд╡реАрдпрд░ рд▓реЗрддреЗ рд╣реИрдВ, рдЕрдЧрд░ рдпрд╣ рдардВрдбрд╛ рд╣реИ - рдорд┐рдЯреНрдЯрдиреНрд╕, рдмреБрдирд╛ рд╣реБрдЖ рдореЛрдЬрд╝реЗ, рд╕реНрд╡реЗрдЯрд░))ред

рдЕрдЧрд▓рд╛ рдХрджрдо рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рд╕рдореВрд╣реЛрдВ рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рд╣реИ, рдЬреЛ рдЧреНрд░реБрдк рдмреАрд╡рд╛рдИ (рдЯреА-рд╢рд░реНрдЯ рдЕрд▓рдЧ-рдЕрд▓рдЧ, рдореЛрдЬреЗ рдЕрд▓рдЧ рд╕реЗ) рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИред рд╕рдореВрд╣реАрдХрд░рдг рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдПрдХ рдФрд░ рд╢рд░реНрдд HAVING рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдкреНрд░рд╛рдкреНрдп рдЪреАрдЬреЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдирд╛)ред рдЕрдВрдд рдореЗрдВ, рд╣рдо ORDER BY рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдм рдХреБрдЫ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдЪреАрдЬреЛрдВ рдХрд╛ рддреИрдпрд╛рд░ рд╕реВрдЯрдХреЗрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдпрд╛ рдмрд▓реНрдХрд┐, рдПрдХ рдСрд░реНрдбрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХред



рд╡реИрд╕реЗ, рдПрдХ рдЕрддрд┐ рд╕реВрдХреНрд╖реНрдо рдЕрдВрддрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рддрдереНрдп рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ рдХрд┐ рдПрдХ рдЕрдВрддрд░ рд╣реИ рдХрд┐ рдХрд┐рди рд╢рд░реНрддреЛрдВ рдХреЛ рдбрдмреНрд▓реНрдпреВрдПрдЪрдИрдЖрд░ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдХреМрди рд╕рд╛ рдПрдЪрдПрд╡реАрдЖрдИ рдореЗрдВред рд▓реЗрдХрд┐рди рдпрд╣ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реИред

рд╣рдо рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред рдЕрдиреБрд░реЛрдз рдирд┐рд╖реНрдкрд╛рджрди рдкрде рдХреЛ рдХреИрд╢ рдореЗрдВ рдЕрдиреБрд░реЛрдз рдпреЛрдЬрдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреН, рд╣рдорд╛рд░рд╛ рдмрдЯрд▓рд░ рд╕рдм рдХреБрдЫ рд▓рд┐рдЦрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдмрдЯрд▓рд░ рд╣реИ - рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рдЕрдЧрд▓реЗ рд╕рд╛рд▓ рдЕрдкрдиреЗ рдЖрджреЗрд╢ рдХреЛ рджреЛрд╣рд░рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдФрд░ рдРрд╕реА рдпреЛрдЬрдирд╛рдПрдВ, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдХрдИ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред

рдХреНрд╡реЗрд░реА рдпреЛрдЬрдирд╛ рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдкреНрд░рдХрд╛рд░

рдРрд╕реЗ рддреАрди рдХрдиреЗрдХреНрд╢рди рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдХреНрд╡реЗрд░реА рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:

  1. рдиреЗрд╕реНрдЯреЗрдб рд▓реВрдкред
  2. рдорд┐рд▓рд╛рдирд╛ред
  3. рд╣рд╢ рд╕рдореНрдорд┐рд▓рд┐рдд рд╣реЛрдВред

рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд░рд╣рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрддрд╛рдПрдВ рдХрд┐ рд╣рдореЗрдВ рдХреНрд╡реЗрд░реА рдпреЛрдЬрдирд╛ рдХреЛ рдХреНрдпреЛрдВ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рд╕реАрдЦреЗрдВрдЧреЗ:

  • рдХрд┐рд╕ рд╕реВрдЪрдХрд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
  • рдХрд┐рд╕ рдХреНрд░рдо рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ;
  • рдмрдлрд░ рд╕реЗ рдХреНрдпрд╛ рдЪреБрдирд╛ рдЧрдпрд╛ рд╣реИ;
  • рд╕рд░реНрд╡рд░ рдСрдкрд░реЗрд╢рди рдкрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдХрд┐рддрдирд╛ рдЦрд░реНрдЪ рдХрд░рддрд╛ рд╣реИ;
  • рдХрд╛рд▓реНрдкрдирд┐рдХ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдпреЛрдЬрдирд╛ рдореЗрдВ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИред

рдиреЗрд╕реНрдЯреЗрдб рд▓реВрдк

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рддрд╛рд▓рд┐рдХрд╛рдУрдВ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдЗрдП рдЗрди рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░реЗрдВ ... рд╕реНрдХрд┐рдЯрд▓реНрд╕ рдЪреЙрдХрд▓реЗрдЯ рдФрд░ рдПрдордПрдВрдбрдПрдо рдХреА рдкреВрд░реА рдкреИрдХреЗрдЬрд┐рдВрдЧ рдХреА рдереЛрдбрд╝реА рдорд╛рддреНрд░рд╛ред



рдиреЗрд╕реНрдЯреЗрдб рд▓реВрдк рдкреНрд░рдХрд╛рд░ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╕рдордп, рд╣рдо рд╕реНрдХреАрдЯрд▓реНрд╕ рдХреИрдВрдбреА рд▓реЗрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╣рдо рдПрдо рдПрдВрдб рдПрдо рдХреЗ рдкреИрдХреЗрдЬ рд╕реЗ рдЕрдВрдзрд╛ рдХреИрдВрдбреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдо рдПрдХ рд╣реА рд░рдВрдЧ рдХреА рдХреИрдВрдбреА рдореЗрдВ рдирд╣реАрдВ рдЖрддреЗ рд╣реИрдВ (рдпрд╣ рд╣рдорд╛рд░реА рд╕реНрдерд┐рддрд┐ рд╣реИ), рддреЛ рд╣рдореЗрдВ рдЕрдЧрд▓рд╛ рднрд╛рдЧ рдорд┐рд▓рддрд╛ рд╣реИ, рдпрд╛рдиреА рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╣рд▓рдЪрд▓ рд╣реЛрддреА рд╣реИред рдирддреАрдЬрддрди, рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдиреЗрд╕реНрдЯреЗрдб рд▓реВрдк рдХрдиреЗрдХреНрд╢рди рдХрдо рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╣реИред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЕрдЧрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рд╣реИ, рддреЛ рдмрд╕реНрдЯ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред



рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдПрд╕рдХреНрдпреВрдПрд▓ рдкреИрдирд▓ рдореЗрдВ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:

--drop table skittles --drop table mms --    create table mms (id int identity(1,1), color varchar(25), taste varchar(15)) insert into mms (color, taste) values ('yellow', 'chocolate') insert into mms (color, taste) values ('red', 'nuts') create clustered index IX_mms_color ON mms(color); create table skittles (id int identity(1,1), color varchar(25), taste varchar(15)) create index IX_skittles_id ON skittles(id); create clustered index IX_skittles_color ON skittles(color); insert into skittles (color, taste) values ('red', 'cherry') insert into skittles (color, taste) values ('blue', 'strange') insert into skittles (color, taste) values ('yellow', 'lemon') insert into skittles (color, taste) values ('green', 'apple') insert into skittles (color, taste) values ('orange', 'orange') --    select mms.* from mms join skittles on mms.color = skittles.color select * from mms join skittles on mms.color = skittles.color 



рдорд┐рд▓рд╛рдирд╛

рдПрдХ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рдЖрдк рдПрдХ рдорд░реНрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреА рджреЛрдиреЛрдВ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдПрдХ рд╕реВрдЪрдХрд╛рдВрдХ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдиреНрд╣реЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдорд┐рдард╛рдИ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рд╣рдордиреЗ рдЙрдиреНрд╣реЗрдВ рд░рдВрдЧ рджреНрд╡рд╛рд░рд╛ рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рд╣реИред

рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:



 --2 tables 50000 rows, only clustered index by color, color is not unique select COUNT(*) from mms_big join skittles_big on mms_big.color = skittles_big.color 



рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдорд░реНрдЬ рдЬреЙрдЗрди рдЕрдЪреНрдЫрд╛ рд╣реИ:

  • рдмрдбрд╝реЗ рдбреЗрдЯрд╛ рд╕реЗрдЯ;
  • рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрдХ рд╣реА рдХрдиреЗрдХреНрд╢рди рдХреНрд╖реЗрддреНрд░;
  • рдХрдиреЗрдХреНрд╢рди рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд╕реВрдЪрдХрд╛рдВрдХ рд╣реЛрддреЗ рд╣реИрдВред

рд╣рд╢ рд╕рдореНрдорд┐рд▓рд┐рдд рд╣реЛрдВ

рд╣реИрд╢ рдЬреНрд╡рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдирд╕реБрдЪрд┐рдд рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреБрдЫ рдРрд╕рд╛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд╕реВрдЪрдХрд╛рдВрдХ рдХреА рдирдХрд▓ рдХрд░рддрд╛ рд╣реИред

рд╣реИрд╢ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг:

 --drop table skittles --drop table mms --    create table mms (id int identity(1,1), color varchar(25), taste varchar(15)) insert into mms (color, taste) values ('yellow', 'chocolate') insert into mms (color, taste) values ('red', 'nuts') insert into mms (color, taste) values ('blue', 'strange') insert into mms (color, taste) values ('green', 'chocolate') insert into mms (color, taste) values ('orange', 'chocolate') create table skittles (id int identity(1,1), color varchar(25), taste varchar(15)) insert into skittles (color, taste) values ('red', 'cherry') insert into skittles (color, taste) values ('blue', 'strange') insert into skittles (color, taste) values ('yellow', 'lemon') insert into skittles (color, taste) values ('green', 'apple') insert into skittles (color, taste) values ('orange', 'orange') --    select * from mms join skittles on mms.color = skittles.color 



рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрдкрдиреА рдорд┐рдард╛рдЗрдпреЛрдВ рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ:



рд╣реИрд╢ рдЬреНрд╡рд╛рдЗрди рдХреЗ рдЙрдкрдпреЛрдЧ рдореЗрдВ 2 рдЪрд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

  1. рдмрд┐рд▓реНрдб - рдПрдХ рд╣реИрд╢ рдЯреЗрдмрд▓ рд╕рдмрд╕реЗ рдЫреЛрдЯреА рдЯреЗрдмрд▓ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рддрд╛рд▓рд┐рдХрд╛ рд╕рдВрдЦреНрдпрд╛ 1 рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдорд╛рди рдХреЗ рд▓рд┐рдП, рдПрдХ рд╣реИрд╢ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдорд╛рди рд╣реИрд╢ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкрд░рд┐рдХрд▓рд┐рдд рд╣реИрд╢ рдПрдХ рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  2. рдЬрд╛рдВрдЪред рддрд╛рд▓рд┐рдХрд╛ рд╕рдВрдЦреНрдпрд╛ 2 рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП, рд╣реИрд╢ рдорд╛рди рдХреА рдЧрдгрдирд╛ рдЬреБрдбрд╝рдиреЗ рд╡рд╛рд▓реЗ рдСрдкрд░реЗрдЯрд░ (рдСрдкрд░реЗрдЯрд░ =) рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝реАрд▓реНрдб рдХреЗ рд▓рд┐рдП рдХреА рдЬрд╛рддреА рд╣реИред рд╣реИрд╢ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдПрдХ рд╣реИрд╢ рдХреА рдЦреЛрдЬ рдХреА рдЬрд╛рддреА рд╣реИ, рдлрд╝реАрд▓реНрдб рдорд╛рдиреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИред







рдЬрдм рд╣реИрд╢ рд╢рд╛рдорд┐рд▓ рдЕрдЪреНрдЫрд╛ рд╣реИ:

  • рдмрдбрд╝рд╛ рдбреЗрдЯрд╛ рд╕реЗрдЯ;
  • рдХреЛрдИ рд╕реАрдорд╛рдВрдд рд╕реВрдЪрдХрд╛рдВрдХ рдирд╣реАрдВред

рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ: рдпрджрд┐ рдкрд░реНрдпрд╛рдкреНрдд рдореЗрдореЛрд░реА рдирд╣реАрдВ рд╣реИ, рддреЛ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ tempdb - рдбрд┐рд╕реНрдХ рдкрд░ рдЬрд╛рдПрдЧреАред

рджреЛрд╕реНрддреЛрдВ, рдЙрдкрд░реЛрдХреНрдд рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЦреБрд▓реЗ рдкрд╛рда рдореЗрдВ рдЕрдиреНрдп рд░реЛрдЪрдХ рдмрд┐рдВрджреБ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рд╡реАрдбрд┐рдпреЛ рджреЗрдЦрдХрд░ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдЖрдкрдХреЛ "MS SQL Server Developer" рдХреЛрд░реНрд╕ рдХреЗ рдУрдкрди рдбреЗ рдкрд░ рдЬрд╛рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдБ рдЖрдк рд╢рд┐рдХреНрд╖рдХ рд╕реЗ рдЕрдкрдиреЗ рд╕рднреА рдкреНрд░рд╢реНрди рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВред

рдкреАрдПрд╕ рдЯреАрдЪрд░ рдХреНрд░рд┐рд╕реНрдЯреАрдирд╛ рдХреБрдЪреЗрд░реЛрд╡рд╛ рдиреЗ рдЬреЗрд╕ рд╢реБрд▓реНрдЯреНрдЬ рдмреЛрд░рд▓реИрдВрдб рдХреЛ рдкреАрдПрдПрд╕ рд╕рдорд┐рдЯ рдПрдХреНрдЬрд┐рдХреНрдпреВрд╢рди рдкреНрд▓рд╛рдиреНрд╕: рдж рд╕реАрдХреНрд░реЗрдЯ рдЯреВ рдХреНрд╡реЗрд░реА рдЯреНрдпреВрдирд┐рдВрдЧ рд╕рдХреНрд╕реЗрд╕ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рджрд┐рдпрд╛, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЦреБрд▓реЗ рдкрд╛рда рдХреА рддреИрдпрд╛рд░реА рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

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


All Articles