рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ B2B рд╕реЗрд╡рд╛рдХреЛ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рд╢реНрдирд╣рд░реВ рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрджреИ

рдердк рдЙрддреНрдкрд╛рджрдХ рд╕рд░реНрднрд░рдорд╛ рд╕рд╛рд░реНрди рд░ рдкреНрд░рдгрд╛рд▓реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛рдпрдо рдирдЧрд░реА рдбреЗрдЯрд╛рдмреЗрд╕рдорд╛ рдкреНрд░рд╢реНрдирд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ 10 рдЧреБрдгрд╛ рдХрд╕рд░реА рдмрдврд╛рдЙрдиреЗ? рдо рддрдкрд╛рдИрд▓рд╛рдИ рдмрддрд╛рдЙрдиреЗрдЫреБ рдХрд┐ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рд╣рд╛рдореНрд░реЛ рдбрд╛рдЯрд╛рдмреЗрд╕рдХреЛ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрдирдорд╛ рдЖрдПрдХреЛ рдЧрд┐рд░рд╛рд╡рдЯрдХреЛ рд╕рд╛рдордирд╛ рдЧрд░реНрдпреМрдВ, рд╣рд╛рдореАрд▓реЗ SQL рдХреНрд╡реЗрд░реАрд╣рд░реВрд▓рд╛рдИ рд╕рдХреЗрд╕рдореНрдо рдзреЗрд░реИ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ рд╕реЗрд╡рд╛ рджрд┐рди рд░ рдХрдореНрдкреНрдпреБрдЯрд┐рдЩ рд╕реНрд░реЛрддрд╣рд░реВрдХреЛ рд▓рд╛рдЧрдд рдирдмрдврд╛рдЙрди рдХрд╕рд░реА рдЕрдиреБрдХреВрд▓рд┐рдд рдЧрд░реНрдпреМрдВред

рдо рдирд┐рд░реНрдорд╛рдг рдХрдореНрдкрдиреАрд╣рд░реВрдорд╛ рд╡реНрдпрд╛рдкрд╛рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рдкреНрд░рдмрдиреНрдз рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕реЗрд╡рд╛ рдмрдирд╛рдЙрдБрдЫреБред рд╣рд╛рдореАрд╕рдБрдЧ рдХрд░рд┐рдм рей рд╣рдЬрд╛рд░ рдХрдореНрдкрдиреАрд▓реЗ рдХрд╛рдо рдЧрд░рд┐рд░рд╣реЗрдХрд╛ рдЫрдиреН ред 3 рд╣рдЬрд╛рд░ рднрдиреНрджрд╛ рдмрдвреА рд╡реНрдпрдХреНрддрд┐рд╣рд░реВ рд╣рд╛рдореНрд░реЛ рдкреНрд░рдгрд╛рд▓реАрд╕рдБрдЧ рд╣рд░реЗрдХ рджрд┐рди 10-4 рдШрдгреНрдЯрд╛ рдХрд╛рдо рдЧрд░реНрдЫрдиреНред рдпрд╕рд▓реЗ рдпреЛрдЬрдирд╛, рд╕реВрдЪрдирд╛, рдЪреЗрддрд╛рд╡рдиреА, рдкреНрд░рдорд╛рдгреАрдХрд░рдгрдХрд╛ рд╡рд┐рднрд┐рдиреНрди рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдЫ... рд╣рд╛рдореА PostgreSQL 10 рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреМрдВред рд╣рд╛рдореАрд╕рдБрдЧ рдбреЗрдЯрд╛рдмреЗрд╕рдорд╛ рд▓рдЧрднрдЧ 9.6 рдЯреЗрдмрд▓рд╣рд░реВ рдЫрдиреН рд░ рд╣рд░реЗрдХ рджрд┐рди 300 рдорд┐рд▓рд┐рдпрди рдкреНрд░рд╢реНрдирд╣рд░реВ (200 рд╣рдЬрд╛рд░ рдлрд░рдХрд╣рд░реВ) рдкреНрд░рд╛рдкреНрдд рд╣реБрдиреНрдЫрдиреНред рдФрд╕рддрдорд╛ рд╣рд╛рдореАрд╕рдБрдЧ рдкреНрд░рддрд┐ рд╕реЗрдХреЗрдиреНрдб 10-3 рд╣рдЬрд╛рд░ рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдЫрдиреН, рд╕рдмреИрднрдиреНрджрд╛ рд╕рдХреНрд░рд┐рдп рдХреНрд╖рдгрд╣рд░реВрдорд╛ рдкреНрд░рддрд┐ рд╕реЗрдХреЗрдиреНрдб 4 рд╣рдЬрд╛рд░ рднрдиреНрджрд╛ рдмрдвреА рдЕрдиреБрд░реЛрдзрд╣рд░реВред рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд░рд╢реНрдирд╣рд░реВ OLAP рд╣реБрдиреНред рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рдХрдо рдердкрд╣рд░реВ, рдкрд░рд┐рдорд╛рд░реНрдЬрдирд╣рд░реВ рд░ рдореЗрдЯрд╛рдЗрдПрдХрд╛ рдЫрдиреН, рдпрд╕рдХреЛ рдорддрд▓рдм OLTP рд▓реЛрдб рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╣рд▓реНрдХрд╛ рдЫред рдореИрд▓реЗ рдпреА рд╕рдмреИ рдирдореНрдмрд░рд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реЗрдХреЛ рдЫреБ рддрд╛рдХрд┐ рддрдкрд╛рдИрдВрд▓реЗ рд╣рд╛рдореНрд░реЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рд╕реНрдХреЗрд▓ рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рд╣рд╛рдореНрд░реЛ рдЕрдиреБрднрд╡ рддрдкрд╛рдИрдВрдХреЛ рд▓рд╛рдЧрд┐ рдХрддреНрддрд┐рдХреЛ рдЙрдкрдпреЛрдЧреА рд╣реБрди рд╕рдХреНрдЫ рднрдиреЗрд░ рдмреБрдЭреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рддрд╕реНрд╡рд┐рд░ рдПрдХред рд▓рд┐рд░рд┐рдХрд▓

рдЬрдм рд╣рд╛рдореАрд▓реЗ рд╡рд┐рдХрд╛рд╕ рд╕реБрд░реБ рдЧрд░реНрдпреМрдВ, рд╣рд╛рдореАрд▓реЗ рд╕рд╛рдБрдЪреНрдЪреИ рд╕реЛрдЪреЗрдХрд╛ рдерд┐рдПрдиреМрдВ рдХрд┐ рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХрд╕реНрддреЛ рдкреНрд░рдХрд╛рд░рдХреЛ рднрд╛рд░ рдЖрдЙрдБрдЫ рд░ рдпрджрд┐ рд╕рд░реНрднрд░рд▓реЗ рддрд╛рдиреНрди рдмрдиреНрдж рдЧрд░реНрдпреЛ рднрдиреЗ рд╣рд╛рдореА рдХреЗ рдЧрд░реНрдЫреМрдВред рдбрд╛рдЯрд╛рдмреЗрд╕ рдбрд┐рдЬрд╛рдЗрди рдЧрд░реНрджрд╛, рд╣рд╛рдореАрд▓реЗ рд╕рд╛рдорд╛рдиреНрдп рд╕рд┐рдлрд╛рд░рд┐рд╕рд╣рд░реВ рдкрд╛рд▓рдирд╛ рдЧрд░реНрдпреМрдВ рд░ рдЖрдлреВрд▓рд╛рдИ рдЦреБрдЯреНрдЯрд╛рдорд╛ рдЧреЛрд▓реА рд╣рд╛рдиреНрди рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдпреМрдВ, рддрд░ "рдврд╛рдБрдЪрд╛ рдкреНрд░рдпреЛрдЧ рдирдЧрд░реНрдиреБрд╣реЛрд╕реН" рдЬрд╕реНрддреИ рд╕рд╛рдорд╛рдиреНрдп рд╕рд▓реНрд▓рд╛рд╣ рднрдиреНрджрд╛ рдкрд░ рдЧрдПред рд╕рдВрд╕реНрдерд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд╛рдирд╣рд░реВ рд╣рд╛рдореА рднрд┐рддреНрд░ рдЧрдПрдиреМрдВред рд╣рд╛рдореАрд▓реЗ рдбреЗрдЯрд╛ рд░рд┐рдбрдиреНрдбрдиреНрд╕реАрд▓рд╛рдИ рдмреЗрд╡рд╛рд╕реНрддрд╛ рдЧрд░реНрджреИ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдгрдХрд╛ рд╕рд┐рджреНрдзрд╛рдиреНрддрд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдбрд┐рдЬрд╛рдЗрди рдЧрд░реЗрдХрд╛ рдерд┐рдпреМрдВ рд░ рдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░рд╢реНрдирд╣рд░реВрдХреЛ рдЧрддрд┐ рдмрдврд╛рдЙрди рд╡рд╛рд╕реНрддрд╛ рдЧрд░реЗрдиреМрдВред рдкрд╣рд┐рд▓реЛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рдЖрдЗрдкреБрдЧреНрджрд╛, рд╣рд╛рдореАрд▓реЗ рдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛рдХреЛ рд╕рд╛рдордирд╛ рдЧрд░реНрдпреМрдВред рд╕рд╛рдорд╛рдиреНрдп рд░реВрдкрдорд╛, рд╣рд╛рдореА рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рддрдпрд╛рд░ рдерд┐рдПрдиреМрдВред рдкрд╣рд┐рд▓реЛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╕рд╛рдзрд╛рд░рдг рднрдПред рдирд┐рдпрдордХреЛ рд░реВрдкрдорд╛, рд╕рдмреИ рдХреБрд░рд╛ рдирдпрд╛рдБ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдердкреЗрд░ рд╣рд▓ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред рддрд░ рдПрдХ рд╕рдордп рдЖрдпреЛ рдЬрдм рд╕рд╛рдзрд╛рд░рдг рдкреНрдпрд╛рдЪрд▓реЗ рдХрд╛рдо рдЧрд░реНрди рдЫреЛрдбреНрдпреЛред рд╣рд╛рдореАрд╕рдБрдЧ рдЕрдиреБрднрд╡рдХреЛ рдХрдореА рдЫ рд░ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд╛рд░рдгрд▓реЗ рднрдЗрд░рд╣реЗрдХреЛ рдЫ рднрдиреЗрд░ рдмреБрдЭреНрди рд╣рд╛рдореАрд▓рд╛рдИ рдЭрдиреНрдЭрдиреН рдЧрд╛рд╣реНрд░реЛ рд╣реБрдБрджреИ рдЧрдЗрд░рд╣реЗрдХреЛ рдорд╣рд╕реБрд╕ рдЧрд░реНрджреИ, рд╣рд╛рдореАрд▓реЗ рд╕рд░реНрднрд░рд▓рд╛рдИ рд╕рд╣реА рд░реВрдкрдорд╛ рд╕реЗрдЯрдЕрдк рдЧрд░реНрди, рдирд┐рдЧрд░рд╛рдиреА рдЬрдбрд╛рди рдЧрд░реНрди рд░ рдХрд╣рд╛рдБ рдкреБрдЧреНрдиреЗ рднрдиреЗрд░ рд╣рд╛рдореАрд▓рд╛рдИ рджреЗрдЦрд╛рдЙрди рдорджреНрджрдд рдЧрд░реНрдиреЗ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрд╣рд░реВрд▓рд╛рдИ рдирд┐рдпреБрдХреНрдд рдЧрд░реНрдпреМрдВред рддрдереНрдпрд╛рдЩреНрдХ.

рддрд╕реНрд╡реАрд░ рджреБрдИред рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп

рддреНрдпрд╕реЛрднрдП рд╣рд╛рдореАрд╕рдБрдЧ рд▓рдЧрднрдЧ 10 рд╣рдЬрд╛рд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рд╢реНрдирд╣рд░реВ рдЫрдиреН рдЬреБрди рд╣рд╛рдореНрд░реЛ рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдкреНрд░рддрд┐ рджрд┐рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░рд┐рдиреНрдЫред рдпреА 10 рд╣рдЬрд╛рд░ рдордзреНрдпреЗ, рддреНрдпрд╣рд╛рдБ рджрд╛рдирд╡рд╣рд░реВ рдЫрдиреН рдЬреБрди 2-3 ms рдХреЛ рдФрд╕рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдордпрдХреЛ рд╕рд╛рде 0.1-0.3 рдорд┐рд▓рд┐рдпрди рдкрдЯрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░рд┐рдиреНрдЫ, рд░ рддреНрдпрд╣рд╛рдБ 30 рд╕реЗрдХреЗрдиреНрдбрдХреЛ рдФрд╕рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдордпрдХрд╛ рд╕рд╛рде рдкреНрд░рд╢реНрдирд╣рд░реВ рдЫрдиреН рдЬрд╕рд▓рд╛рдИ рджрд┐рдирдХреЛ 100 рдкрдЯрдХ рднрдирд┐рдиреНрдЫред

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

рд╢реАрд░реНрд╖ рдЕрдиреБрд░реЛрдзрд╣рд░реВ

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

рд╕рдмреИ рдХрдореНрдкрдиреАрд╣рд░реВрдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдЕрднреНрдпрд╛рд╕ TOP рдЕрдиреБрд░реЛрдзрд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ рд╣реЛред рддрд┐рдиреАрд╣рд░реВрдордзреНрдпреЗ рдереЛрд░реИ рдЫрдиреН; рдПрдХ рдХреНрд╡реЗрд░реАрд▓рд╛рдИ рдкрдирд┐ рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрджрд╛ 5-10% рд╕реНрд░реЛрддрд╣рд░реВ рдЦрд╛рд▓реА рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдпрджреНрдпрдкрд┐, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░рд┐рдкрдХреНрд╡ рд╣реБрдБрджреИ рдЬрд╛рдБрджрд╛, рд╢реАрд░реНрд╖ рдкреНрд░рд╢реНрдирд╣рд░реВ рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрдиреБ рдмрдвреНрджреЛ рдЧреИрд░-рддреБрдЪреНрдЫ рдХрд╛рд░реНрдп рдмрдиреНрдЫред рд╕рдмреИ рд╕рд╛рдзрд╛рд░рдг рд╡рд┐рдзрд┐рд╣рд░реВ рдкрд╣рд┐рд▓реЗ рдиреИ рдХрд╛рдо рдЧрд░рд┐рд╕рдХреЗрдХрд╛ рдЫрдиреН, рд░ рд╕рдмреИрднрдиреНрджрд╛ "рднрд╛рд░реА" рдЕрдиреБрд░реЛрдзрд▓реЗ "рдХреЗрд╡рд▓" 3-5% рд╕реНрд░реЛрддрд╣рд░реВ рд▓рд┐рдиреНрдЫред рдпрджрд┐ TOP рдкреНрд░рд╢реНрдирд╣рд░реВрд▓реЗ рдХреБрд▓ рд╕рдордпрдХреЛ 30-40% рднрдиреНрджрд╛ рдХрдо рд╕рдордп рд▓рд┐рдиреНрдЫ рднрдиреЗ, рддреНрдпрд╕рдкрдЫрд┐ рд╕рдореНрднрд╡рддрдГ рддрдкрд╛рдИрдВрд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рджреНрд░реБрдд рд░реВрдкрдорд╛ рдХрд╛рдо рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕рд╣рд░реВ рдЧрд░рд┐рд╕рдХреНрдиреБ рднрдПрдХреЛ рдЫ рд░ рдпреЛ рдЕрд░реНрдХреЛ рд╕рдореВрд╣рдмрд╛рдЯ рдХреНрд╡реЗрд░реАрд╣рд░реВрд▓рд╛рдИ рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрди рдЕрдЧрд╛рдбрд┐ рдмрдвреНрдиреЗ рд╕рдордп рд╣реЛред
рдпреЛ рд╕рдореВрд╣рдорд╛ рдХрддрд┐рд╡рдЯрд╛ рд╢реАрд░реНрд╖ рдкреНрд░рд╢реНрдирд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрдиреБрдкрд░реНрдЫ рднрдиреНрдиреЗ рдкреНрд░рд╢реНрдирдХреЛ рдЬрд╡рд╛рдл рджрд┐рди рдмрд╛рдБрдХреА рдЫред рдо рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рдХрдореНрддрд┐рдорд╛ 10 рд▓рд┐рдиреНрдЫреБ, рддрд░ 20 рднрдиреНрджрд╛ рдмрдврд┐ рд╣реЛрдЗрдиред рдо рдпреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдЫреБ рдХрд┐ рд╢реАрд░реНрд╖ рд╕рдореВрд╣рдорд╛ рдкрд╣рд┐рд▓реЛ рд░ рдЕрдиреНрддрд┐рдордХреЛ рд╕рдордп 10 рдкрдЯрдХ рднрдиреНрджрд╛ рдмрдвреА рдлрд░рдХ рдирд╣реЛрд╕реНред рддреНрдпреЛ рд╣реЛ, рдпрджрд┐ рдХреНрд╡реЗрд░реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдордп 1st рд╕реНрдерд╛рдирдмрд╛рдЯ 10th рдорд╛ рддреАрд╡реНрд░ рд░реВрдкрдорд╛ рдШрдЯреНрдЫ, рддрдм рдо TOP-10 рд▓рд┐рдиреНрдЫреБ, рдпрджрд┐ рдбреНрд░рдк рдЕрдзрд┐рдХ рдХреНрд░рдорд┐рдХ рдЫ рднрдиреЗ, рддреНрдпрд╕рдкрдЫрд┐ рдо рд╕рдореВрд╣рдХреЛ рдЖрдХрд╛рд░ 15 рд╡рд╛ 20 рдорд╛ рдмрдврд╛рдЙрдБрдЫреБред
рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ B2B рд╕реЗрд╡рд╛рдХреЛ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рд╢реНрдирд╣рд░реВ рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрджреИ

рдордзреНрдпрдо рдХрд┐рд╕рд╛рдирд╣рд░реВ

рдпреА рд╕рдмреИ рдЕрдиреБрд░реЛрдзрд╣рд░реВ рд╣реБрдиреН рдЬреБрди TOP рдкрдЫрд┐ рддреБрд░реБрдиреНрддреИ рдЖрдЙрдБрдЫрдиреН, рдЕрдиреНрддрд┐рдо 5-10% рдХреЛ рдЕрдкрд╡рд╛рдж рдмрд╛рд╣реЗрдХред рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рдпреА рдкреНрд░рд╢реНрдирд╣рд░реВ рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрджрд╛ рд╕рд░реНрднрд░рдХреЛ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрдирдорд╛ рдареВрд▓реЛ рд╡реГрджреНрдзрд┐ рдЧрд░реНрдиреЗ рдЕрд╡рд╕рд░ рд╣реБрдиреНрдЫред рдпреА рдЕрдиреБрд░реЛрдзрд╣рд░реВ 80% рд╕рдореНрдо рддреМрд▓ рдЧрд░реНрди рд╕рдХреНрдЫрдиреНред рддрд░ рдпрджрд┐ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдЕрдВрд╢ 50% рдирд╛рдШреЗрдХреЛ рдЫ рднрдиреЗ, рдпреЛ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЕрдЭ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рд╣реЗрд░реНрдиреЗ рд╕рдордп рд╣реЛред

рдкреБрдЪреНрдЫрд░

рдЙрд▓реНрд▓реЗрдЦ рдЧрд░рд┐рдП рдЕрдиреБрд╕рд╛рд░, рдпреА рдкреНрд░рд╢реНрдирд╣рд░реВ рдЕрдиреНрддрдорд╛ рдЖрдЙрдБрдЫрдиреН рд░ 5-10% рд╕рдордп рд▓рд┐рдиреНрдЫрдиреНред рдпрджрд┐ рддрдкрд╛рдЗрдБ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХреНрд╡реЗрд░реА рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реБрдиреНрди рднрдиреЗ рдорд╛рддреНрд░ рддрдкрд╛рдЗрдБ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдмрд┐рд░реНрд╕рди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддреНрдпрд╕рдкрдЫрд┐ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрди рдкрдирд┐ рд╕рд╕реНрддреЛ рд╣реБрди рд╕рдХреНрдЫред

рдкреНрд░рддреНрдпреЗрдХ рд╕рдореВрд╣рд▓рд╛рдИ рдХрд╕рд░реА рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрдиреЗ?

рдо рдПрдХ SQL рдХреНрд╡реЗрд░реА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреБ рдЬрд╕рд▓реЗ PostgreSQL рдХреЛ рд▓рд╛рдЧрд┐ рдпрд╕реНрддреЛ рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрди рдорджреНрджрдд рдЧрд░реНрджрдЫ (рдо рдирд┐рд╢реНрдЪрд┐рдд рдЫреБ рдХрд┐ рдпрд╕реНрддреИ рдкреНрд░рд╢реНрди рдзреЗрд░реИ рдЕрдиреНрдп DBMSs рдХреЛ рд▓рд╛рдЧреА рд▓реЗрдЦреНрди рд╕рдХрд┐рдиреНрдЫ)

TOP-MEDIUM-TAIL рд╕рдореВрд╣рд╣рд░реВрдХреЛ рдЖрдХрд╛рд░ рдЕрдиреБрдорд╛рди рдЧрд░реНрди SQL рдХреНрд╡реЗрд░реА

SELECT sum(time_top) AS sum_top, sum(time_medium) AS sum_medium, sum(time_tail) AS sum_tail
FROM
(
  SELECT CASE WHEN rn <= 20              THEN tt_percent ELSE 0 END AS time_top,
         CASE WHEN rn > 20 AND rn <= 800 THEN tt_percent ELSE 0 END AS time_medium,
         CASE WHEN rn > 800              THEN tt_percent ELSE 0 END AS time_tail
  FROM (
    SELECT total_time / (SELECT sum(total_time) FROM pg_stat_statements) * 100 AS tt_percent, query,
    ROW_NUMBER () OVER (ORDER BY total_time DESC) AS rn
    FROM pg_stat_statements
    ORDER BY total_time DESC
  ) AS t
)
AS ts

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

рдпрд╕рд░реА рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬреЗрд╕рди рдХрд╛рд░реНрдп рд╕реБрд░реБ рднрдПрдХреЛ рд░ рдЕрд╣рд┐рд▓реЗрдХреЛ рд╕рдордпрдорд╛ рдЕрдиреБрд░реЛрдзрд╣рд░реВрдХреЛ рд╕реЗрдпрд░рд╣рд░реВ рд▓рдЧрднрдЧ рддреБрд▓рдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ B2B рд╕реЗрд╡рд╛рдХреЛ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рд╢реНрдирд╣рд░реВ рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрджреИ

рд░реЗрдЦрд╛рдЪрд┐рддреНрд░рд▓реЗ рджреЗрдЦрд╛рдЙрдБрдЫ рдХрд┐ TOP рдЕрдиреБрд░реЛрдзрд╣рд░реВрдХреЛ рдЕрдВрд╢ рддреАрд╡реНрд░ рд░реВрдкрдорд╛ рдШрдЯреЗрдХреЛ рдЫ, рддрд░ "рдордзреНрдпрдо рдХрд┐рд╕рд╛рдирд╣рд░реВ" рдмрдвреЗрдХреЛ рдЫред
рд╕реБрд░реБрдорд╛, рд╢реАрд░реНрд╖ рдЕрдиреБрд░реЛрдзрд╣рд░реВрдорд╛ рд╕реНрдкрд╖реНрдЯ рдЧрд▓реНрддреАрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдерд┐рдПред рд╕рдордп рдмрд┐рддреНрджреИ рдЬрд╛рдБрджрд╛, рдмрд╛рд▓реНрдпрдХрд╛рд▓рдХрд╛ рд░реЛрдЧрд╣рд░реВ рдЧрд╛рдпрдм рднрдП, TOP рдЕрдиреБрд░реЛрдзрд╣рд░реВрдХреЛ рдЕрдВрд╢ рдШрдЯреНрдпреЛ, рд░ рдХрдард┐рди рдЕрдиреБрд░реЛрдзрд╣рд░реВрд▓рд╛рдИ рдЧрддрд┐ рджрд┐рди рдердк рдкреНрд░рдпрд╛рд╕рд╣рд░реВ рдЧрд░реНрдиреБрдкрд░реНрдпреЛред

рдЕрдиреБрд░реЛрдзрд╣рд░реВрдХреЛ рдкрд╛рда рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╣рд╛рдореА рдирд┐рдореНрди рдЕрдиреБрд░реЛрдз рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫреМрдВ

SELECT * FROM (
  SELECT ROW_NUMBER () OVER (ORDER BY total_time DESC) AS rn, total_time / (SELECT sum(total_time) FROM pg_stat_statements) * 100 AS tt_percent, query
  FROM pg_stat_statements
  ORDER BY total_time DESC
) AS T
WHERE
rn <= 20 -- TOP
-- rn > 20 AND rn <= 800 -- MEDIUM
-- rn > 800  -- TAIL

рдпрд╣рд╛рдБ рд╕рдмреИрднрдиреНрджрд╛ рдзреЗрд░реИ рдкреНрд░рдпреЛрдЧ рд╣реБрдиреЗ рдкреНрд░рд╡рд┐рдзрд┐рд╣рд░реВрдХреЛ рд╕реВрдЪреА рдЫ рдЬрд╕рд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рд╢реАрд░реНрд╖ рдкреНрд░рд╢реНрдирд╣рд░реВрдХреЛ рдЧрддрд┐ рдмрдврд╛рдЙрди рдорджреНрджрдд рдЧрд░реНтАНрдпреЛ:

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

рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рдкреБрди: рдбрд┐рдЬрд╛рдЗрдирдорд╛ рдкрд░рд┐рдгрдд рднрдП, рддрд░ рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдкреНрд░рдгрд╛рд▓реА рд▓реЛрдбрдХреЛ 5-10% рдкреНрд░рджрд╛рди рдЧрд░реЗ рд░ рдиреНрдпрд╛рдпреЛрдЪрд┐рдд рдерд┐рдПред рд╕рдордпрдХреЛ рд╕рд╛рде, рдирд┐рдХрд╛рд╕ рд╕рд╛рдиреЛ рд░ рд╕рд╛рдиреЛ рднрдпреЛ, рд░ рдЕрдзрд┐рдХ рд░ рдЕрдзрд┐рдХ рдЧрдореНрднреАрд░ рдкреБрди: рдбрд┐рдЬрд╛рдЗрди рдЖрд╡рд╢реНрдпрдХ рдерд┐рдпреЛред

рддреНрдпрд╕рдкрдЫрд┐ рд╣рд╛рдореАрд▓реЗ рдЕрдиреБрд░реЛрдзрд╣рд░реВрдХреЛ рджреЛрд╕реНрд░реЛ рд╕рдореВрд╣ - рдордзреНрдпрдо рдХрд┐рд╕рд╛рдирд╣рд░реВрдХреЛ рд╕рдореВрд╣рдорд╛ рд╣рд╛рдореНрд░реЛ рдзреНрдпрд╛рди рдХреЗрдиреНрджреНрд░рд┐рдд рдЧрд░реНтАНрдпреМрдВред рдпрд╕рдорд╛ рдЕрд░реБ рдзреЗрд░реИ рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛рд╣рд░реБ рдЫрдиреН рд░ рд╕рдореНрдкреВрд░реНрдг рд╕рдореБрд╣рдХреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЧрд░реНрди рдзреЗрд░реИ рд╕рдордп рд▓рд╛рдЧреНрдиреЗ рджреЗрдЦрд┐рдиреНрдЫ ред рдпрджреНрдпрдкрд┐, рдзреЗрд░реИ рдЬрд╕реЛ рдкреНрд░рд╢реНрдирд╣рд░реВ рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрди рдзреЗрд░реИ рд╕рд░рд▓ рднрдП, рд░ рдзреЗрд░реИ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╡рд┐рднрд┐рдиреНрди рднрд┐рдиреНрдирддрд╛рд╣рд░реВрдорд╛ рджрд░реНрдЬрдиреМрдВ рдкрдЯрдХ рджреЛрд╣реЛрд░рд┐рдПред рдпрд╣рд╛рдБ рдХреЗрд╣рд┐ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрдиреБрдХреВрд▓рдирдХрд╛ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ рдЫрдиреН рдЬреБрди рд╣рд╛рдореАрд▓реЗ рджрд░реНрдЬрдиреМрдВ рд╕рдорд╛рди рдкреНрд░рд╢реНрдирд╣рд░реВрдорд╛ рд▓рд╛рдЧреВ рдЧрд░реНрдпреМрдВ рд░ рдЕрдиреБрдХреВрд▓рд┐рдд рдкреНрд░рд╢реНрдирд╣рд░реВрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рд╕рдореВрд╣рд▓реЗ 3-5% рджреНрд╡рд╛рд░рд╛ рдбрд╛рдЯрд╛рдмреЗрд╕ рдЕрдирд▓реЛрдб рдЧрд░реНтАНрдпреЛред

  • COUNT рд░ рдкреВрд░реНрдг рддрд╛рд▓рд┐рдХрд╛ рд╕реНрдХреНрдпрд╛рди рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд░реЗрдХрд░реНрдбрд╣рд░реВрдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрдХреЛ рд╕рдЯреНрдЯрд╛, EXISTS рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдерд╛рд▓рд┐рдпреЛред
  • DISTINCT рдмрд╛рдЯ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдЙрдиреБ рднрдпреЛ (рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рд╕рд╛рдорд╛рдиреНрдп рдиреБрд╕реНрдЦрд╛ рдЫреИрди, рддрд░ рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рддрдкрд╛рдИрдВ рд╕рдЬрд┐рд▓реИрд╕рдБрдЧ 10-100 рдкрдЯрдХ рдЕрдиреБрд░реЛрдзрдХреЛ рдЧрддрд┐ рдмрдврд╛рдПрд░ рдпрд╕рд▓рд╛рдИ рд╣рдЯрд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ)ред

    рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдбреЗрд▓рд┐рднрд░реАрдХреЛ рдареВрд▓реЛ рддрд╛рд▓рд┐рдХрд╛рдмрд╛рдЯ рд╕рдмреИ рдбреНрд░рд╛рдЗрднрд░рд╣рд░реВ рдЪрдпрди рдЧрд░реНрди рдХреНрд╡реЗрд░реАрдХреЛ рд╕рдЯреНрдЯрд╛ (рд╡рд┐рддрд░рдг)

    SELECT DISTINCT P.ID, P.FIRST_NAME, P.LAST_NAME
    FROM DELIVERY D JOIN PERSON P ON D.DRIVER_ID = P.ID
    

    рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд╛рдиреЛ рддрд╛рд▓рд┐рдХрд╛ PERSON рдорд╛ рдкреНрд░рд╢реНрди рдЧрд░реНрдиреБрднрдпреЛ

    SELECT P.ID, P.FIRST_NAME, P.LAST_NAME
    FROM PERSON
    WHERE EXISTS(SELECT D.ID FROM DELIVERY WHERE D.DRIVER_ID = P.ID)
    

    рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ рдХрд┐ рд╣рд╛рдореАрд▓реЗ рд╕рд╣рд╕рдВрдмрджреНрдз рд╕рдмрдХреНрд╡реЗрд░реА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдпреМрдВ, рддрд░ рдпрд╕рд▓реЗ 10 рдкрдЯрдХ рднрдиреНрджрд╛ рдмрдвреАрдХреЛ рдЧрддрд┐ рджрд┐рдиреНрдЫред

  • рдзреЗрд░реИ рдЕрд╡рд╕реНрдерд╛рдорд╛, COUNT рд▓рд╛рдИ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рддреНрдпрд╛рдЧрд┐рдПрдХреЛ рдерд┐рдпреЛ рд░
    рдЕрдиреБрдорд╛рдирд┐рдд рдорд╛рди рдХреЛ рдЧрдгрдирд╛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд
  • рдХреЛ рд╕рдЯреНрдЯрд╛
    UPPER(s) LIKE JOHN%тАЩ 
    

    рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН

    s ILIKE тАЬJohn%тАЭ
    

рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрдиреБрд░реЛрдз рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ 3-1000 рдкрдЯрдХ рджреНрд╡рд╛рд░рд╛ рдЧрддрд┐ рдерд┐рдпреЛред рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрдирдХреЛ рдмрд╛рд╡рдЬреБрдж, рд╕реБрд░реБрдорд╛ рд╣рд╛рдореАрд▓рд╛рдИ рдпрд╕реНрддреЛ рд▓рд╛рдЧреНрдереНрдпреЛ рдХрд┐ рдПрдЙрдЯрд╛ рдХреНрд╡реЗрд░реАрд▓рд╛рдИ рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬ рдЧрд░реНрдиреБрдХреЛ рдХреБрдиреИ рдорддрд▓рдм рдЫреИрди рдЬреБрди рдкреВрд░рд╛ рдЧрд░реНрди 10 ms рд▓рд┐рдиреНрдЫ, 3rd рд╕рдп рдЧрд╣реНрд░реМрдВ рдкреНрд░рд╢реНрдирд╣рд░реВ рдордзреНрдпреЗ рдПрдХ рд╣реЛ, рд░ рд╕рдордЧреНрд░ рдбрд╛рдЯрд╛рдмреЗрд╕ рд▓реЛрдб рд╕рдордпрдХреЛ рдПрдХ рдкреНрд░рддрд┐рд╢рддрдХреЛ рд╢рддрд╛рдВрд╢ рд▓рд┐рдиреНрдЫред рддрд░ рдЙрд╣реА рдкреНрд░рдХрд╛рд░рдХреЛ рдкреНрд░рд╢реНрдирд╣рд░реВрдХреЛ рд╕рдореВрд╣рдорд╛ рдЙрд╣реА рдиреБрд╕реНрдЦрд╛ рд▓рд╛рдЧреВ рдЧрд░реЗрд░, рд╣рд╛рдореАрд▓реЗ рдХреЗрд╣реА рдкреНрд░рддрд┐рд╢рдд рдлрд┐рд░реНрддрд╛ рдЬрд┐рддреНрдпреМрдВред рд╕рдмреИ рд╕рдпреМрдВ рдкреНрд░рд╢реНрдирд╣рд░реВрдХреЛ рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рд╕рдореАрдХреНрд╖рд╛ рдЧрд░реНрди рд╕рдордп рдмрд░реНрдмрд╛рдж рдирдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореАрд▓реЗ рдЙрд╣реА рдкреНрд░рдХрд╛рд░рдХрд╛ рдкреНрд░рд╢реНрдирд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдзреЗрд░реИ рд╕рд░рд▓ рд▓рд┐рдкрд┐рд╣рд░реВ рд▓реЗрдЦреНрдпреМрдВред рдирддрд┐рдЬрд╛рдХреЛ рд░реВрдкрдорд╛, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рдХреНрд╡реЗрд░реАрд╣рд░реВрдХреЛ рд╕рдореВрд╣ рдЦреЛрдЬреАрд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдпрд╛рд╕рдХреЛ рд╕рд╛рде рд╣рд╛рдореНрд░реЛ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрдирдорд╛ рдердк рд╕реБрдзрд╛рд░ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдпреЛред

рдлрд▓рд╕реНрд╡рд░реВрдк, рд╣рд╛рдореАрд▓реЗ рдПрдЙрдЯреИ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░рдорд╛ рддреАрди рд╡рд░реНрд╖рджреЗрдЦрд┐ рдХрд╛рдо рдЧрд░рд┐рд░рд╣реЗрдХрд╛ рдЫреМрдВред рдФрд╕рдд рджреИрдирд┐рдХ рд▓реЛрдб рд▓рдЧрднрдЧ 30% рдЫ, рд╢рд┐рдЦрд░ рдорд╛ рдпреЛ 70% рдкреБрдЧреНрдЫред рдЕрдиреБрд░реЛрдзрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛, рд╕рд╛рдереИ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛, рд▓рдЧрднрдЧ 10 рдЧреБрдгрд╛ рдмрдвреЗрдХреЛ рдЫред рд░ рдпреА рд╕рдмреИ TOP-MEDIUM рдЕрдиреБрд░реЛрдзрд╣рд░реВрдХреЛ рд╕рдорд╛рди рд╕рдореВрд╣рд╣рд░реВрдХреЛ рдирд┐рд░рдиреНрддрд░ рдирд┐рдЧрд░рд╛рдиреАрдХреЛ рд▓рд╛рдЧрд┐ рдзрдиреНрдпрд╡рд╛рджред TOP рд╕рдореВрд╣рдорд╛ рдирдпрд╛рдБ рдЕрдиреБрд░реЛрдз рджреЗрдЦрд╛ рдкрд░реНрдиреЗ рдмрд┐рддреНрддрд┐рдХреИ, рд╣рд╛рдореА рддреБрд░реБрдиреНрддреИ рдпрд╕рд▓рд╛рдИ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЧрд░реНрдЫреМрдВ рд░ рдпрд╕рд▓рд╛рдИ рдЧрддрд┐ рджрд┐рди рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдЫреМрдВред рд╣рд╛рдореА рдкреНрд░рд╢реНрди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╣рдкреНрддрд╛рдорд╛ рдПрдХ рдкрдЯрдХ MEDIUM рд╕рдореВрд╣рдХреЛ рд╕рдореАрдХреНрд╖рд╛ рдЧрд░реНрдЫреМрдВред рдпрджрд┐ рд╣рд╛рдореАрд▓реЗ рдирдпрд╛рдБ рдкреНрд░рд╢реНрдирд╣рд░реВ рднреЗрдЯреНрдЯрд╛рдпреМрдВ рдЬреБрди рд╣рд╛рдореАрд▓рд╛рдИ рдкрд╣рд┐рд▓реЗ рдиреИ рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬ рдЧрд░реНрдиреЗ рддрд░рд┐рдХрд╛ рдерд╛рд╣рд╛ рдЫ, рд╣рд╛рдореА рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЫрд┐рдЯреНрдЯреИ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдЫреМрдВред рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рд╣рд╛рдореАрд▓реЗ рдирдпрд╛рдБ рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬреЗрд╕рди рд╡рд┐рдзрд┐рд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдЫреМрдВ рдЬреБрди рдПрдХреИ рдкрдЯрдХ рдзреЗрд░реИ рдкреНрд░рд╢реНрдирд╣рд░реВрдорд╛ рд▓рд╛рдЧреВ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

рд╣рд╛рдореНрд░реЛ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рдЕрдиреБрд╕рд╛рд░, рд╣рд╛рд▓рдХреЛ рд╕рд░реНрднрд░рд▓реЗ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛рдорд╛ рдЕрд░реНрдХреЛ 3-5 рдкрдЯрдХ рд╡реГрджреНрдзрд┐рд▓рд╛рдИ рд╕рд╛рдордирд╛ рдЧрд░реНрдиреЗрдЫред рд╕рд╛рдБрдЪреЛ, рд╣рд╛рдореАрд╕рдБрдЧ рд╣рд╛рдореНрд░реЛ рдЖрд╕реНрддреАрдирдорд╛ рдердк рдПрдХ рдЗрдХреНрдХрд╛ рдЫ - рд╣рд╛рдореАрд▓реЗ рдЕрдЭреИ рдкрдирд┐ SELECT рдХреНрд╡реЗрд░реАрд╣рд░реВ рдорд┐рд░рд░рдорд╛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реЗрдХрд╛ рдЫреИрдиреМрдВ, рдЬрд╕реНрддреИ рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░рд┐рдПрдХреЛ рдЫред рддрд░ рд╣рд╛рдореА рдпреЛ рд╣реЛрд╢рд┐рдпрд╛рд░реАрдкреВрд░реНрд╡рдХ рдЧрд░реНрджреИрдиреМрдВ, рдХрд┐рдирдХрд┐ рд╣рд╛рдореА рдкрд╣рд┐рд▓реЗ "рд╣реЗрднреА рдЖрд░реНрдЯрд┐рд▓рд░реА" рдЦреЛрд▓реНрдиреБ рдЕрдШрд┐ "рд╕реНрдорд╛рд░реНрдЯ" рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬреЗрд╕рдирдХреЛ рд╕рдореНрднрд╛рд╡рдирд╛рд╣рд░реВ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рд╕рдорд╛рдкреНрдд рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреМрдВред
рдЧрд░рд┐рдПрдХреЛ рдХрд╛рдордорд╛ рдПрдХ рдЖрд▓реЛрдЪрдирд╛рддреНрдордХ рдирдЬрд░рд▓реЗ рдард╛рдбреЛ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕реБрдЭрд╛рд╡ рджрд┐рди рд╕рдХреНрдЫред рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрд╣рд░реВрдХреЛ рд╕рдордп рдмрд░реНрдмрд╛рдж рдЧрд░реНрдиреБрдХреЛ рд╕рдЯреНрдЯрд╛ рдердк рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╕рд░реНрднрд░ рдХрд┐рдиреНрдиреБрд╣реЛрд╕реНред рд╕рд░реНрднрд░рд▓реЗ рддреНрдпрддрд┐ рдзреЗрд░реИ рдЦрд░реНрдЪ рдирдЧрд░реНрди рд╕рдХреНрдЫ, рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рд╣рд╛рдореАрд▓реЗ рдЕрдЭреИ рдард╛рдбреЛ рдорд╛рдкрдирдХреЛ рд╕реАрдорд╛ рд╕рдорд╛рдкреНрдд рдЧрд░реЗрдХрд╛ рдЫреИрдиреМрдВред рдпрджреНрдпрдкрд┐, рдЕрдиреБрд░реЛрдзрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдорд╛рддреНрд░ 10 рдЧреБрдгрд╛ рдмрдвреНрдпреЛред рдзреЗрд░реИ рд╡рд░реНрд╖рдХреЛ рдЕрд╡рдзрд┐рдорд╛, рдкреНрд░рдгрд╛рд▓реАрдХреЛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдмрдвреЗрдХреЛ рдЫ рд░ рдЕрдм рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рдкреНрд░рдХрд╛рд░рдХрд╛ рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдЫрдиреНред рдХреНрдпрд╛рд╕рд┐рдЩрдХреЛ рд▓рд╛рдЧрд┐ рдзрдиреНрдпрд╡рд╛рдж, рдЕрд╡рд╕реНрдерд┐рдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрдо рдЕрдиреБрд░реЛрдзрд╣рд░реВрдорд╛ рдкреНрд░рджрд░реНрд╢рди рдЧрд░рд┐рдиреНрдЫ, рд░ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдЕрдиреБрд░реЛрдзрд╣рд░реВред рдпрд╕рдХреЛ рдорддрд▓рдм рддрдкрд╛рдИрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддреНрд╡рд░рдг рдЧреБрдгрд╛рдВрдХ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдкрдорд╛ рдЕрд░реНрдХреЛ 5 рджреНрд╡рд╛рд░рд╛ рдЧреБрдгрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рддреНрдпрд╕реИрд▓реЗ, рд╕рдмреИрднрдиреНрджрд╛ рд░реВрдврд┐рд╡рд╛рджреА рдЕрдиреБрдорд╛рди рдЕрдиреБрд╕рд╛рд░, рд╣рд╛рдореА рдПрдХреНрд╕реЗрд▓реЗрд░реЗрд╢рди 50 рдкрдЯрдХ рд╡рд╛ рдмрдвреА рдерд┐рдпреЛ рднрдиреЗрд░ рднрдиреНрди рд╕рдХреНрдЫреМрдВред рдард╛рдбреЛ рд░реВрдкрдорд╛ рд╕рд░реНрднрд░ рд╕реНрд╡рд┐рдВрдЧ рдЧрд░реНрджрд╛ 50 рдЧреБрдгрд╛ рдмрдвреА рдЦрд░реНрдЪ рд╣реБрдиреЗрдЫред рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрджреИ рдХрд┐ рдПрдХ рдкрдЯрдХ рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬреЗрд╕рди рд╕рдореНрдкрдиреНрди рднрдПрдкрдЫрд┐ рдпрд╕рд▓реЗ рд╕рдмреИ рд╕рдордп рдХрд╛рдо рдЧрд░реНрджрдЫ, рд░ рднрд╛рдбрд╛рдорд╛ рд▓рд┐рдЗрдПрдХреЛ рд╕рд░реНрднрд░рдХреЛ рд▓рд╛рдЧрд┐ рдмрд┐рд▓ рд╣рд░реЗрдХ рдорд╣рд┐рдирд╛ рдЖрдЙрдБрдЫред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди