рдЧреНрд░реАрдирдкреНрд▓рдо рдореЗрдВ SQL рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП 5 рдЬреАрд╡рди рд╣реИрдХ



рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдИ рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛, рдЬрд▓реНрджреА рдпрд╛ рдмрд╛рдж рдореЗрдВ рдЗрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреА рд╣реИред

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

рдЧреНрд░реАрдирдкреНрд▓рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ
рдЧреНрд░реАрдирдкреНрд▓рдо - рдПрдордкреАрдкреА рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░, рдЬрд┐рд╕рдХрд╛ рдореВрд▓ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕реНрдХрд▓ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

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



рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝реЗрдВред

рд▓реЗрдЦ рдореЗрдВ рдЖрдЧреЗ рдЕрдиреБрд░реЛрдз рдпреЛрдЬрдирд╛ рдХреЗ рдХрдИ рд╕рдВрджрд░реНрдн рд╣реЛрдВрдЧреЗред рдЧреНрд░реАрдирдкреНрд▓рдо рдХреЗ рд▓рд┐рдП рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдБ рдЙрдкрд▓рдмреНрдз рд╣реИ ред

рдЧреНрд░реАрдирдкреНрд▓рдо рдкрд░ рдЕрдЪреНрдЫреЗ рдкреНрд░рд╢реНрди рдХреИрд╕реЗ рд▓рд┐рдЦреЗрдВ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдХрд╛рдлреА рджреБрдЦреА рдирд╣реАрдВ)


рдЪреВрдВрдХрд┐ рд╣рдо рдПрдХ рд╡рд┐рддрд░рд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рди рдХреЗрд╡рд▓ рдПрд╕рдХреНрдпреВрдПрд▓ рдХреНрд╡реЗрд░реА рдХреИрд╕реЗ рд▓рд┐рдЦреА рдЬрд╛рдП, рдмрд▓реНрдХрд┐ рдпрд╣ рднреА рдХрд┐ рдбреЗрдЯрд╛ рдХреИрд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

1. рд╡рд┐рддрд░рдг


рдбреЗрдЯрд╛ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реЗрдЧрдореЗрдВрдЯ рдкрд░ рднреМрддрд┐рдХ рд░реВрдк рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк рд╕реЗрдЧрдореЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░реВрдк рд╕реЗ рдпрд╛ рдХрд┐рд╕реА рдлрд╝реАрд▓реНрдб рдХреЗ рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рди рдпрд╛ рдлрд╝реАрд▓реНрдб рдХреЗ рд╕реЗрдЯ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдЕрд▓рдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рд┐рдВрдЯреИрдХреНрд╕ (рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рддреЗ рд╕рдордп):

DISTRIBUTED BY (some_field) 

рдпрд╛ рддреЛ:

 DISTRIBUTED RANDOMLY 

рд╡рд┐рддрд░рдг рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЕрдЪреНрдЫреА рдЪрдпрдирд╛рддреНрдордХрддрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕рдореЗрдВ рд╢реВрдиреНрдп рдорд╛рди рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдпрд╛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдореВрд▓реНрдп рдХрдо рд╕реЗ рдХрдо рд╣реЛрдВ), рдХреНрдпреЛрдВрдХрд┐ рдРрд╕реЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд░рд┐рдХреЙрд░реНрдб рдПрдХ рдЦрдВрдб рдкрд░ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ, рдЬрд┐рд╕рд╕реЗ рдбреЗрдЯрд╛ рд╡рд┐рдХреГрддрд┐рдпрд╛рдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред

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

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

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

рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЪреБрдиреЗ рд╣реБрдП рд╡рд┐рддрд░рдг рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рд╛рде, рдЕрдиреНрдп рдЦрдВрдбреЛрдВ рдХреЛ рдбреЗрдЯрд╛ рднреЗрдЬреЗ рдмрд┐рдирд╛, рд╕рднреА рдЧрдгрдирд╛ рдЦрдВрдб рдкрд░ рдХреА рдЬрд╛рдПрдЧреАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдЕрдзрд┐рдХрддрдо рдЬреБрдбрд╝рд╛рд╡ (рдЬреНрд╡рд╛рдЗрди) рдХреЗ рд▓рд┐рдП, рд╕рдорд╛рди рдЦрдВрдб рдкрд░ рд╕рдорд╛рди рдорд╛рди рд╕реНрдерд┐рдд рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред

рдЪрд┐рддреНрд░реЛрдВ рдореЗрдВ рд╡рд┐рддрд░рдг
рдЕрдЪреНрдЫреА рд╡рд┐рддрд░рдг рдХреБрдВрдЬреА:


рдЦрд░рд╛рдм рд╡рд┐рддрд░рдг рдХреБрдВрдЬреА:


рд░реИрдВрдбрдо рд╡рд┐рддрд░рдг:


рдЬреБрдбрд╝рдиреЗ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝реАрд▓реНрдб рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╕рднреА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдорд╣рддреНрд╡рдкреВрд░реНрдг: рд╡рд┐рддрд░рдг рдлрд╝реАрд▓реНрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ рдЬреЛ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреНрд╡реЗрд░реА рдХреЗ рджреМрд░рд╛рди рд▓реЛрдб рднреА рд╕рдорд╛рди рд░реВрдк рд╕реЗ рд╡рд┐рддрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

2. рд╡рд┐рднрд╛рдЬрди


рд╡рд┐рднрд╛рдЬрди рдЖрдкрдХреЛ рдмрдбрд╝реА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рддрдереНрдп , рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВред рдЧреНрд░реАрдирдкреНрд▓рдо рд╢рд╛рд░реАрд░рд┐рдХ рд░реВрдк рд╕реЗ рдЖрдкрдХреА рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдкреА 1 рд╕реЗ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЦрдВрдбреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

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

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

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдиреБрд░реЛрдзреЛрдВ рдкрд░ рдЬрд╛рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рдЕрдиреБрд░реЛрдз рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЦрдВрдбреЛрдВ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:

3. рдЖрд╢рд╛рд╡рд╛рджреА


рдЧреНрд░реАрдирдкреНрд▓рдо рдореЗрдВ рджреЛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░, рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд▓реАрдЧреЗрд╕реА рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░ рдФрд░ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдУрд░реНрдХрд╛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░: GPORCA - Orca - Pivotal Query Optimizer рд╣реИрдВред

рдЕрдиреБрд░реЛрдз рдкрд░ GPORCA рд╕рдХреНрд╖рдо рдХрд░реЗрдВ:

 set optimizer = on; 

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

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХреНрд╡реЗрд░реА рдпреЛрдЬрдирд╛ рдХреЛ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ рд╕реНрдХреИрди рдХрд┐рдП рдЧрдП рд╡рд┐рднрд╛рдЬрди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ:

рдорд╛рдирдХ рдЕрдиреБрдХреВрд▓рдХ:



рдУрд░реНрдХрд╛:



GPORCA рд╡рд┐рднрд╛рдЬрди / рд╡рд┐рддрд░рдг рдлрд╝реАрд▓реНрдб рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рднреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╣реИрдВ рдЬрдм рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рддреГрддреАрдп-рдкрдХреНрд╖ рдЕрдиреБрдХреВрд▓рдХ рдЖрдВрдХрдбрд╝реЛрдВ рдкрд░ рдмрд╣реБрдд рдорд╛рдВрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рди рднреВрд▓реЗрдВред

рдЖрд╢рд╛рд╡рд╛рджреА рдХрд┐рддрдирд╛ рднреА рдЕрдЪреНрдЫрд╛ рдХреНрдпреЛрдВ рди рд╣реЛ, рдПрдХ рдЦрд░рд╛рдм рд▓рд┐рдЦрд┐рдд рдХреНрд╡реЗрд░реА рднреА рдУрд░реНрдХрд╛ рдХреЛ рдирд╣реАрдВ рдЦреАрдВрдЪреЗрдЧреА:

4. рдЙрди рдлрд╝реАрд▓реНрдбреНрд╕ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рддреЛрдбрд╝ рдЬрд╣рд╛рдВ рдмреНрд▓реЙрдХ рдпрд╛ рд╢рд░реНрддреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ


рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдлрд╝рд┐рд▓реНрдЯрд░ рдлрд╝реАрд▓реНрдб рдкрд░ рд▓рд╛рдЧреВ рдлрд╝рдВрдХреНрд╢рди рдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рдХреЙрд░реНрдб рдкрд░ рдЬреБрдбрд╝рдиреЗ рдХреА рд╢рд░реНрддреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╡рд┐рднрд╛рдЬрди рдХреНрд╖реЗрддреНрд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, date_trunc рд╕реЗ рд╡рд┐рднрд╛рдЬрди рдлрд╝реАрд▓реНрдб - рддрд┐рдерд┐), рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ GPORCA рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╡рд┐рднрд╛рдЬрди рдХреНрд▓рд┐рдкрд┐рдВрдЧ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

 --     set optimizer = on; explain select * from edw_ods.t_000045_bills c where date_trunc('month',tech_dt) between to_date('20180101', 'YYYYMMDD') and to_date('20180101', 'YYYYMMDD') + interval '1 month - 1 second' ; 



 --     set optimizer = on; explain select * from edw_ods.t_000045_bills c where tech_dt between to_date('20180101', 'YYYYMMDD') and to_date('20180101', 'YYYYMMDD') + interval '1 month - 1 second' 



рдореИрдВ рд╡рд┐рднрд╛рдЬрди рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдкрд░ рднреА рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реВрдВред рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЖрд╢рд╛рд╡рд╛рджреА рд╕реВрдЪреА рдореЗрдВ рд╡рд┐рднрд╛рдЬрди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛:



рдПрдХ рд╣реА рд╡рд┐рднрд╛рдЬрди рдлрд┐рд▓реНрдЯрд░ рдореЗрдВ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рд▓рд╛рдЧреВ рдХрд░реЗрдВред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдПрдХ рд╣реА date_trunc рд╣реИ:

 date_trunc('month',to_date($p_some_dt, 'YYYYMMDD')) 



рдЬреАрдкреАрдУрдЖрд░рд╕реАрдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЭрдЧрдбрд╝реЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░реЗрдЧрд╛ рдФрд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдорд╛рдирдХ рдЕрдиреБрдХреВрд▓рдХ рдЕрдм рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдПрдХ рд╕реНрдкрд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд░реВрдкрд╛рдВрддрд░рдг рдХрд░рдХреЗ, рдЖрдк рдЗрд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 date_trunc('month',to_date($p_some_dt, 'YYYYMMDD'))::timestamp without time zone 



рдФрд░ рдЕрдЧрд░ рд╕рдм рдХреБрдЫ рдЧрд▓рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?

5. рдореЛрдЯреЗрд╢рди


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

  • рдЧрддрд┐ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░реЗрдВ - рд▓рдЧрднрдЧ рд╣рд░ рдпреЛрдЬрдирд╛ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рд╕рднреА рд╡рд░реНрдЧреЛрдВ рд╕реЗ рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдПрдХ рд╕реНрдЯреНрд░реАрдо (рдЖрдорддреМрд░ рдкрд░ рдорд╛рд╕реНрдЯрд░) рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдирд╛ред

    рджреЛ рдХреБрдВрдЬреА, рдЬреЛ рдПрдХ рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рд╡рд┐рддрд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдЬреЛ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИ, рдЪрд▓рддреА рдбреЗрдЯрд╛ рдХреЗ рдмрд┐рдирд╛, рдЦрдВрдбреЛрдВ рдкрд░ рд╕рднреА рд╕рдВрдЪрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВред рдЕрдиреНрдпрдерд╛, рдкреНрд░рд╕рд╛рд░рдг рдЧрддрд┐ рдпрд╛ рдкреБрдирд░реНрд╡рд┐рддрд░рдг рдЧрддрд┐ рд╣реЛрддреА рд╣реИ:
  • рдкреНрд░рд╕рд╛рд░рдг рдЧрддрд┐ - рдкреНрд░рддреНрдпреЗрдХ рдЦрдВрдб рдЕрдиреНрдп рдЦрдВрдбреЛрдВ рдХреЛ рдбреЗрдЯрд╛ рдХреА рдЕрдкрдиреА рдкреНрд░рддрд┐ рднреЗрдЬрддрд╛ рд╣реИред рдПрдХ рдЖрджрд░реНрд╢ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдкреНрд░рд╕рд╛рд░рдг рдХреЗрд╡рд▓ рдЫреЛрдЯреА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИред
  • рдкреБрдирд░реНрд╡рд┐рддрд░рдг рдЧрддрд┐ - рд╡рд┐рднрд┐рдиреНрди рдХреБрдВрдЬрд┐рдпреЛрдВ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдмрдбрд╝реА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░ рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрдирд░реНрд╡рд┐рддрд░рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмрдбрд╝реА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХрд╛рдлреА рдорд╣рдВрдЧрд╛ рдСрдкрд░реЗрд╢рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдкреНрд░рд╕рд╛рд░рдг рдФрд░ рдкреБрдирд░реНрд╡рд┐рддрд░рдг рдХрд╛рдлреА рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕рдВрдЪрд╛рд▓рди рд╣реИрдВред рдЕрдиреБрд░реЛрдз рдЪрд▓рдиреЗ рдкрд░ рдЙрдиреНрд╣реЗрдВ рд╣рд░ рдмрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрдирд╕реЗ рдмрдЪрдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИред рдХреНрд╡реЗрд░реА рдпреЛрдЬрдирд╛ рдореЗрдВ рдРрд╕реЗ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рд╡рд┐рддрд░рдг рдХреБрдВрдЬреА рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИред рд╡рд┐рдХреГрдд рдФрд░ рд╕рдВрдШ рд╕рдВрдЪрд╛рд▓рди рднреА рдЧрддрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреЗ рд╣реИрдВред

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

рдпрд╣ рд▓реЗрдЦ рд░реЛрд╕реНрдЯреЗрд▓рдХреЙрдо рдбреЗрдЯрд╛ рдкреНрд░рдмрдВрдзрди рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛

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


All Articles