
рдХреНрдпрд╛
рдП 4 рдкреНрд░рд╛рд░реВрдк рдХреЗ 1 рдкреГрд╖реНрда рдкрд░ MySQL рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдлрд┐рдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ? рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ 8 рдмрд┐рдВрджреБ (рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ рдкрдардиреАрдп) рдФрд░ рдЖрдкрддреНрддрд┐ рдХреЗ рдмрд╛рдж, рддреЛ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ! рдФрд░ рдпрджрд┐ рдмрд┐рдирд╛ рдХреЛрдб рдФрд░ 10 рдкрд┐рди рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдХреЛрдб рд╣реИ, рддреЛ рдпрд╣ рдЕрд╕рдВрднрд╡ рд╣реИ: рдЖрдкрдХреЛ
6 рдкреГрд╖реНрдареЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ред
рд╕рдм рдХреБрдЫ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рджреМрд░рд╛рди, рдореБрдЭреЗ рдЧрд▓рддреА рд╕реЗ рдПрдХ рдЫреЛрдЯреА рд╕реА, рд▓реЗрдХрд┐рди рд╕рд┐рд░реНрдл 1000 рд╕реЗ рдЕрдзрд┐рдХ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде MySQL рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ред рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рдЧрдпрд╛ рдХрд┐ рдХрд┐рддрдирд╛ рдЕрдзрд┐рдХ рдХреЙрдореНрдкреИрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдзрд╛ рд░рд╡рд┐рд╡рд╛рд░ рдмрд┐рддрд╛рдпрд╛, рдЕрд▓рдЧ рдФрд░ рдХреЛрдб рдХреЛ рдЫреЛрдЯрд╛ рдХрд┐рдпрд╛ред рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо
рдиреИрдиреЛрдореАрдЯрд░ , MySQL рдХреЗ рд▓рд┐рдП CLI рдХреНрд▓рд╛рдЗрдВрдЯ рд╣реИ , рдЬрд┐рд╕рдХреЗ
рдкреВрд░реНрдг рд╕реНрд░реЛрдд
рдХреЗрд╡рд▓ 380 рд▓рд╛рдЗрдиреЛрдВ рдФрд░ рд▓рдЧрднрдЧ 10,500 рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЖрддреЗ рд╣реИрдВ , рдФрд░ рд╕рд╛рде рд╣реА рд╡реЗ рд▓рд┐рдирдХреНрд╕, рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рдореИрдХрдУрдПрд╕ рдХреЗ рддрд╣рдд рд╕рдВрдХрд▓рди рдФрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдПрд╕рдЯреАрдПрд▓ рдХреЗ рдПрдХ рдкреВрд░реНрдг рдиреНрдпреВрдирддрдо рдХреЗ рд╕рд╛рде рд╕реА ++ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ, tsiferki рдФрд░ рдХрдЯ рдХреЗ рддрд╣рдд рдПрдХ рдиреИрдиреЛ-рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рдкрд╛рдЧрд▓рдкрди рдХреЗ рдЕрдиреНрдп рд╡рд┐рд╡рд░рдгред
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд╛рджрд╛ рдореЗрдЧрд╛-рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ!
Z:\work\nanomysql>nanomysql.exe -u testme -p moo connected to mysql 5.5.25a-log nanomysql> use test --- ok, 0 row(s) nanomysql> select * from t id, gid, body --- 2, 1, three abcx four 3, 1, five six seven abcx 4, 1, eight in abcx-nine 5, 1, one two three in abcm 6, 1, binlog ftw 100, 1, one two abcx --- ok, 6 row(s) nanomysql> quit bye
рдЕрджреНрдпрддрди: рдореЛрдЯреЗ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рдкреНрд▓рд╕ рдЯреЗрдмрд▓рд╢реЙрдЯ !!! рддрд╕реНрд╡реАрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред

рдХреНрд▓рд╛рдЗрдВрдЯ 7 рдкреНрд░рдХрд╛рд░ рдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рдкреИрдХреЗрдЯреЛрдВ рдХреЛ рднреЗрдЬ (рднреЗрдЬ, рдкреНрд░рд╛рдкреНрдд, рдпрд╛ рдкрд╛рд░реНрд╕) рдХрд░ рд╕рдХрддрд╛ рд╣реИ: рд╣реИрдВрдбрд╢реЗрдХ, рдСрд░реНрдЯрд┐рдХрд▓, рдХреНрд╡реЗрд░реА, рдУрдХреЗ, рдПрд░рд░, рдлреАрд▓реНрдб, рд░реЛред рд╕рд░реНрд╡рд░ рд╕реЗ рдЪрд┐рдкрдХреЗ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рдПрдВ, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЕрдзрд┐рдХ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг, 1 рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рд╕реНрд░реЛрдд рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд╛рдиреЛрдВ рд╕реЗ рдХрдЯ-рдПрди-рдкреЗрд╕реНрдЯ рдкреНрд░рд╢рдВрд╕рдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ (рджреЗрдЦреЗрдВ "рд╣рдо рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рд▓реВрдЯрддреЗ рд╣реИрдВ, рдмрд╕ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП") рддреБрд░рдВрдд рдЫреЛрдЯрд╛ рдерд╛ рдФрд░ ~ 1250 рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рд▓реЗ рд▓рд┐рдпрд╛ред рдЗрд╕рд▓рд┐рдП, рдордиреЛрд░рдВрдЬрди рдХрд╛ рд▓рдХреНрд╖реНрдп 500 рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг рд╣рд╛рд░реНрдб-рдХреЛрдбрд┐рдд рд▓реЙрдЧрд┐рди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдФрд░ рдПрдХ рд╣рд╛рд░реНрдб-рдХреЛрдбрд┐рдд рдкрд░реАрдХреНрд╖рдг рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХреЛрдб рдХреЛ рдмрд╛рд╣рд░ рдлреЗрдВрдХрдирд╛ (рдореВрд▓ рд░реВрдк рд╕реЗ, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдкреНрд░рдпреБрдХреНрдд рддрд░реАрдХреЛрдВ рдХреЗ рд╕рднреА рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд╕реАрдзреЗ рдПрдХ рдкреВрд░реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛), рдареАрдХ рд╣реИ, рдЬрдмрдХрд┐ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ рдХрдВрд╕реЛрд▓ рдХреНрд╡реЗрд░реА рд▓реВрдк рдЬреЛрдбрд╝рддреЗ рд╣реБрдП, рдЗрд╕реЗ рдЬрд▓реНрджреА рд╕реЗ ~ 700 рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдерд╛ред
рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдореБрдЭреЗ рдХрдХреНрд╖рд╛рдУрдВ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдЕрдВрджрд░ рдЪрдврд╝рдирд╛ рдкрдбрд╝рд╛ред рдпрд╣рд╛рдВ рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреА рдмрдЪрдд рдХреЗ рд╕реНрд░реЛрдд рддреАрди рдЪреАрдЬреЗрдВ рд╣реБрдИрдВ:
- рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдорд░реНрдЬ рдХрд░рдирд╛ (рдФрд░ рд╢реБрд░реВ рдореЗрдВ рдорд╛рдИрд╕рдХреНрд▓рдбреНрд░рд╛рдЗрд╡рд░_рдЯреА рд╡рд░реНрдЧ рдХреЗ рдмрдЬрд╛рдп рдЙрдирдореЗрдВ рд╕реЗ рддреАрди рдереЗ, рдиреЗрдЯрдЗрдирдкреНрдпреВрдЯрдмрдлрд╝рд░_рд╕реА + рдиреЗрдЯрдСрдЯрдкреБрддрдмрдлрд╝рд░_рд╕реА + рдореИрд╕реВрд░рд▓рдбреНрд░рд╛рдЗрд╡рд░_рдЯреА)
- рдХрдХреНрд╖рд╛ рдШреЛрд╖рдгрд╛ рдореЗрдВ рддрд░реАрдХреЛрдВ рдХрд╛ рдЖрдпрд╛рдд (рд╣рдо рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдФрд░ рдЦрд╛рд▓реА рд▓рд╛рдЗрдиреЛрдВ рдХреА рдкреНрд░рддрд┐рдпреЛрдВ рдкрд░ рдмрдЪрдд рдХрд░рддреЗ рд╣реИрдВ),
- рд╣рдорд╛рд░реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдорд▓реЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рдЕрдВрджрд░ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдХреЛрдб рдХрд╛ рд╕рд░рд▓реАрдХрд░рдгред
рдЦреИрд░, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╡реНрдпрдХреНрддрд┐рдЧрдд рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд╣рдореЗрд╢рд╛ рд╕реНрдкреЙрдЯ рд╕реНрдЯреНрд░рд┐рдкреНрд╕ рд╣реЛрддреЗ рд╣реИрдВред рдпреЗ рд╕рд░рд▓ рдЙрдкрд╛рдп рд▓рдЧрднрдЧ ~ 500 рд▓рд╛рдЗрдиреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдЧрдПред
рдЙрд╕реА рд╕рдордп, 500 рдХреЗ рдирд┐рд╢рд╛рди рдХреЗ рд╡рдВрд╢ рдХреЗ рджреМрд░рд╛рди, рдореИрдВрдиреЗ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рдПрдХ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдЬреЛрдбрд╝рд╛ рдФрд░ рдереЛрдбрд╝рд╛ рд╕реБрдВрджрд░ рдирд┐рд╖реНрдХрд░реНрд╖ рдмрдирд╛рдпрд╛ред рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рджреВрд╕рд░реЛрдВ рдХреЗ рд╕рд╛рде рдорд┐рд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреЛрдб рдХреЛ рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ, рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рдХрд░, рд▓рд╛рдЗрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рдХрд░ рджреА рдЧрдИред рдХреЛрдб рдХреЛ рдорд┐рдЯрд╛рддреЗ рд╕рдордп рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд░рдирд╛ рд╣рдореЗрд╢рд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрддрд╛ рд╣реИ! рдЗрд╕ рднрд╛рдЧ рдХреЗ рдкрд╛рдареНрдпрдХреНрд░рдо рдореЗрдВ рднреА, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рд▓рд╛рдЗрдиреЛрдВ рдХреА рдЦреЛрдЬ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдХреЛрдб рдорд╛рдирдХ рдХрд╛ рдереЛрдбрд╝рд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛: рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореБрдЦрд░ () рдХреЛ рдлреЗрдВрдХ рджреЗрдВ, рдХрднреА-рдХрднреА "рдХреНрд░рд┐рд╕рдорд╕ рдЯреНрд░реА" рдХреЗ рдмрдЬрд╛рдп "рдХреЙрд▓рдо рдореЗрдВ" рдХреЛрдб рдХреЛ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░реЗрдВ, рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдХреБрдЫ рд╕реНрдерд╛рдиреЛрдВ рдкрд░, рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ "рдХреЙрд▓рдо" рдХреЗ рдмрдЬрд╛рдпред тАЬрдФрд░ рдЖрдо рддреМрд░ рдкрд░ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдореБрдЦреНрдп рдорд╛рдирджрдВрдб рдЙрди рд╕реНрдерд╛рдиреЛрдВ рдХреА рдкрдардиреАрдпрддрд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдерд╛, рдЬрд┐рдиреНрд╣реЗрдВ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдкрдврд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред (SHA1 рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдХреБрдЫ рдЬрд╛рджреБрдИ рдкрд░рд┐рд╡рд░реНрддрди, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╡рд╣рд╛рдБ рддреБрд░рдВрдд рдирд╣реАрдВ рдерд╛)
рдФрд░ рдлрд┐рд░ рдЕрдЪрд╛рдирдХ рдПрдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╕рд╡рд╛рд▓ рдкреИрджрд╛ рд╣реБрдЖ: рдХреНрдпрд╛ 1 рдкреЗрдЬ рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдЭрдЯрдХрд╛ рджреЗрдирд╛ рд╕рдВрднрд╡ рд╣реИ! рдФрд░ рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рдлрд╝реЙрдиреНрдЯ рдХреЗ рд╕рд╛рде, рдФрд░ рдХреНрдпреВрдЖрд░ рдХреЛрдб рдирд╣реАрдВ, рдмрд┐рд▓реНрдХреБрд▓ред рдПрдХ рддрд░рдл, рдмреЗрд╢рдХ, 500 рд▓рд╛рдЗрдиреЗрдВред рд▓реЗрдХрд┐рди рдпреЗ рдЯрд┐рдкреНрдкрдгреА рдФрд░ рдЦрд╛рд▓реА рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд╕рд╛рде, рдмрд▓реНрдХрд┐ рдЫреЛрдЯреА рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреБрд▓ рдкрд╛рда рдХреЗрд╡рд▓ ~ 12 рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рд╣реИ, рдХреНрд░рдо рдореЗрдВ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рддреБрд▓рдиреАрдп рд╣реИред

рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЖрдЗрдП рдУрдлрд╕рдХреЗрд╢рди рдХрд░реЗрдВ рдФрд░ рдХреЛрдб рдХреА рдИрдВрдЯ рдХреЛ рдПрдХ рддрд░рдл рд╕реЗрдЯ рдХрд░реЗрдВ !!!
рд╕рд╛рд╣рд┐рддреНрдпрд┐рдХ рд░реВрдк рд╕реЗ рдИрдВрдЯ, рдХреАрдорддреА рдкрд╛рддреНрд░реЛрдВ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рдЖрдк рдпрд╣рд╛рдБ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ,
nanosql1.pdf (рдЕрд╕реНрд╡реАрдХрд░рдг: Google рдореЗрдВ рдХреБрдЫ рдЕрдЬреАрдм рдкрд╣рд▓реА рдлрд╝рд╛рдЗрд▓ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╣рдмрд╕реНрдЯреНрд░реЙрдЧ рдкреАрдбреАрдПрдл рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ)ред
рдореИрдВрдиреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдереЛрдбрд╝рд╛ рд╕рд╛ рдЯрд┐рдВрдХрд░ рдХрд┐рдпрд╛, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рдореБрдЭреЗ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рд▓рд┐рдЦрд╛ред (рдЗрд╕рдХреЗ рдмрд╛рдж, рдХреЛрдб рдХреЛ рд╣рд╛рде рд╕реЗ рдереЛрдбрд╝рд╛ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдб рдХреЛ 3-4 рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдареАрдХ рдХрд░рдирд╛ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ рдФрд░ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рдЖрд▓рд╕реА рд╣реИред)
рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ рдЦрд╛рд▓реА рд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдЙрдиреНрдореВрд▓рди ~ 10.5k ~ ~ 7.3k рд╕реЗ рд╣реЛрддрд╛ рд╣реИ, рд╕рдВрдХреАрд░реНрдг рдорд╛рд░реНрдЬрд┐рди рдХреЗ рд╕рд╛рде 9 рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрди рдХреА рд▓рдВрдмрд╛рдИ 105 рд╡рд░реНрдг рдкреНрд░рддрд┐ рдкрдВрдХреНрддрд┐ рджреЗрддрд╛ рд╣реИ, 8 рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдХреНрд░рдорд╢рдГ 118 рд╡рд░реНрдг, рдкреГрд╖реНрда рдкрд░ рд▓рдЧрднрдЧ 60 рд░реЗрдЦрд╛рдПрдВ рдлрд┐рдЯ рд╣реЛрддреА рд╣реИрдВред рдпрд╣реА рд╣реИ, рдмрд╕ рдЦрд╛рд▓реА рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ, рд╕рд╛рде рд╣реА рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдХреЛрдб рдореЗрдВ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рдВрдмреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕реНрдерд╛рди рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрдИ рдФрд░ рд▓рд╛рдЗрдиреЗрдВ рдЬреЛрдбрд╝реАрдВ рддрд╛рдХрд┐ m_iSock, m_pReadBuf рдХреЗ рдЪрд░ рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдирд╛рдореЛрдВ рдХреЛ рдПрдХ рдпрд╛ рджреЛ рдЕрдХреНрд╖рд░ p, q, a0 рдФрд░ рдЗрд╕реА рддрд░рд╣ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХреЗред рдкрд░рд┐рдгрд╛рдо рдмреЗрд╣рддрд░ рд╣реИ, рд▓рдЧрднрдЧ 5.5kред
рдлрд┐рд░ C ++ рдЖрдкрдХреЛ рдХрдбрд╝реЗ рдХреЛрдб рд╕реЗ "рдИрдВрдЯ" рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдмрд╕ рдареАрдХ рд╣реИ! рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рд╕реАрдорд╛ рдЕрдХреНрд╕рд░ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдорд┐рд▓рддреА рд╣реИ рдЬрд╣рд╛рдВ рдЖрдк рдмрд╕ рдПрдХ рд▓рд╛рдЗрди рдлреАрдб рд▓реЗ рдФрд░ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдЬрд╣рд╛рдВ рдпрд╣ рдЕрд╕рдВрднрд╡ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╢рдмреНрдж рдкреНрд░рд┐рдВрдЯрдл рдХреЗ рдмреАрдЪ рдореЗрдВ) рдЖрдк рд╣рдореЗрд╢рд╛ рд▓рд╛рдЗрди рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд▓рдкреЗрдЯ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рд╢реАрдЯ рдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдкрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреЗрд╡рд▓ #include рдФрд░ рдЕрдиреНрдп #ifdef рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рдЬреА рдЪрд╛рд▓ рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдереЛрдбрд╝рд╛ рдФрд░ рдХреАрдорддреА рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реИ: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд╛рдорд╛рдВрдХрд┐рдд рд╕реНрдерд┐рд░рд╛рдВрдХ #define MAX_PACKET 16777216 рдХреЗ рдмрдЬрд╛рдп рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рд╕реАрдзреЗ рдХреЛрдб рдореЗрдВ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреЙрдореНрдкреИрдХреНрдЯрдиреЗрд╕ рдХреЗ рд▓рд┐рдП рдкреНрд░рдкрддреНрд░ (1) 24) рдореЗрдВред рдирддреАрдЬрддрди, рддрдмреНрджреАрд▓ рдХреЛрдб рд▓рдЧрднрдЧ
IOCCC рдХреЛ рднреЗрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдмрд╕ MySQL рд▓реЛрдЧреЛ рд╕реЗ рдбреЙрд▓реНрдлрд┐рди рдХреЗ ASCII рдЪрд┐рддреНрд░ рдореЗрдВ рдПрдХ рдИрдВрдЯ рдХреЗ рдмрдЬрд╛рдп рдЗрд╕реЗ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдореИрдВрдиреЗ рднреА #Dfine R рд░рд┐рдЯрд░реНрди, #define V рд╢реВрдиреНрдп рдЖрджрд┐ рдЯреНрд░рд┐рдХреНрд╕ рдЖрдЬрдорд╛рдПред рдЙрдирд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рднрд╛рд╡рдирд╛ рдХрд╛рдо рдирд╣реАрдВ рдЖрдИред рд╡реЗ рдмрд┐рд▓реНрдХреБрд▓ рд▓рд╛рдЗрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ; рдХрд╛рд░реНрдпрдХреНрд░рдо рдмрд╣реБрдд рдЫреЛрдЯрд╛ рд╣реИред рдЦреИрд░, рд╣рдордиреЗ рдЖрд░ рдХреЗ 1 рдмрд╛рдЗрдЯ рдХреЗ рд╕рд╛рде рд╡рд╛рдкрд╕реА рдХреЗ 6 рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛, рдФрд░ рдЗрд╕рд▓рд┐рдП 20 рдмрд╛рд░, рд╣рдордиреЗ 100 рдмрд╛рдЗрдЯреНрд╕ рдпрд╛ рдорд╛рдЗрдирд╕ рд▓рдВрдмреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдмрдЪрд╛рдпрд╛ред рдФрд░ рдкреНрд▓рд╕ 1 рдиреЗ # рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдХреЛрдИ рдЕрд░реНрде рдирд╣реАрдВ рд╣реИред
рдХреЛрдб рдХреЗ рдЕрд╕реНрдкрд╖реНрдЯ рдФрд░ рдкрдардиреАрдп рджреЛрдиреЛрдВ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЖрдХреНрд╖реЗрдк рдФрд░ рдЕрдВрддрд┐рдо рдХрдЯреМрддреА рдпрд╣рд╛рдВ рдФрд░ рд╡рд╣рд╛рдВ рдорд┐рд╢реНрд░рд┐рдд рд╣реЛ рдЧрдИред рдЪрд╛рд▓ рд╡рд╣реА рд╣реИ; рджрд┐рд▓рдЪрд╕реНрдк рднрд╛рдЧ рд╕реЗ, рд╢рд╛рдпрдж, рдХрд╛рд░реНрдпреЛрдВ рдХреЛ SHA1_Init (), рдЖрджрд┐ рдХреЛ рдПрдХ рд╡рд░реНрдЧ рдореЗрдВ рдмрджрд▓рдХрд░ (рд╣рдо рдереЛрдбрд╝реА рд╕реА рджреЛрдиреЛрдВ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдФрд░ рдЯреЛрдХрди рдХреЛ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ) рдФрд░ рдлрд┐рд░ sha.Init () рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХреЙрд▓рд┐рдВрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЕрдВрддрд┐рдо (3) рдХреЙрд▓рдо рдХреА рдмрдЬрд╛рдп 1 рдкрдВрдХреНрддрд┐ рдореЗрдВ 1 рдкрдВрдХреНрддрд┐ рдореЗрдВред
рдкрд░рд┐рдгрд╛рдо 377-рд▓рд╛рдЗрди рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рд░рд╡рд┐рд╡рд╛рд░ рд╢рд╛рдо рдерд╛, рдЗрд╕реЗ рд░реЛрдХрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред ;) рд╢рд╛рдпрдж, рдЖрдк рдЗрд╕реЗ рдФрд░ рднреА рдореБрд╢реНрдХрд┐рд▓ рд╕реЗ рдирд┐рдЪреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, 300 рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдиреМрд╡реЗрдВ рдХреЗ рд╕рд╛рде 1 рдкреГрд╖реНрда рдкрд░ рдИрдВрдЯ рд╣реИ, рдФрд░ рдЖрдард╡реЗрдВ, рдЖрдХрд╛рд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИред
рдХреБрд▓ред
380 рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ MySQL рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд▓рд┐рдЦрдирд╛ рд╕рдВрднрд╡ рдерд╛ред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╡рд╣ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдмреЗрдХрд╛рд░ рд╣реИ, рд╕рднреА рд╕рдорд╛рди рд░реВрдк рд╕реЗ рд╣рд░ рдЬрдЧрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдмреБрджреНрдзрд┐рдорд╛рди рджреЗрд╢реА рдЧреНрд░рд╛рд╣рдХ рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, "рд╢рд╛рдо рдФрд░ 400 рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдХреНрдпрд╛ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ" рдмрд╣реБрдд рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рд╕рд╛рдВрдХреЗрддрд┐рдХред
рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдУрдлрд╝реНрдлрд╝реБрд╕реЗрдЯреЗрдб рд╕рдВрд╕реНрдХрд░рдг ~ 5 рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рдореЗрдВ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ 1 A4 рдкреГрд╖реНрда рдореЗрдВ рдлрд┐рдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рд╢реБрджреНрдз рдордиреЛрд░рдВрдЬрди рд╣реИред рд▓реЗрдХрд┐рди рдлрд┐рд░, рдЕрдЬреАрдм рд╕рд╡рд╛рд▓ рдкрд░ "рдХреНрдпрд╛ рдП 4 рдкрд░ MySQL рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдлрд┐рдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ", рдПрдХ рдареЛрд╕ рдЬрд╡рд╛рдм рд╣рд╛рдБ рд╣реИред
рдЙрди 377 рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдЖрдВрдХрдбрд╝реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:
- 34 рд▓рд╛рдЗрдиреЗрдВ #include, #define, void die ();
- 150 рдкрдВрдХреНрддрд┐рдпреЛрдВ MysqlDriver_t: рдмреБрдирд┐рдпрд╛рджреА рдиреЗрдЯрд╡рд░реНрдХ рдмрдлрд░, рдХреБрдЫ рдкреИрдХреЗрдЯ рдХреЗ рдкрд╛рд░реНрд╕ (рдареАрдХ рд╣реИ, рддреНрд░реБрдЯрд┐, рдлрд╝реАрд▓реНрдб, рдкрдВрдХреНрддрд┐);
- 74 рд▓рд╛рдЗрдиреЗрдВ SHA1_t: рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП SHA-1 рд░реАрдбрд░ (рдСрдерд░ рдкреИрдХреЗрдЬ);
- 81 рд▓рд╛рдЗрдиреЗрдВ, рдореБрдЦреНрдп рд╢реБрд░реВ (): рд╡рд┐рдХрд▓реНрдк рдкрд╛рд░реНрд╕рд┐рдВрдЧ, рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрд╢рди, рдкреНрд░рдорд╛рдгреАрдХрд░рдг;
- 30 рд▓рд╛рдЗрдиреЗрдВ, рдореБрдЦреНрдп рдЕрдВрдд (): рдХреНрд╡реЗрд░реА рд▓реВрдк, рдЕрдиреБрд░реЛрдз рдкрдврд╝реЗрдВ, рднреЗрдЬреЗрдВ, рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдЙрддреНрддрд░ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВред
рдХрд┐рд╕рдХреЗ рдкрд╛рд╕ рдПрдХ рд╕рдВрддреБрд▓рди рдирд╣реАрдВ рд╣реИ, рдЦрд╛рд▓реА рд▓рд╛рдЗрдиреЛрдВ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╛рдж рд░рдЦреЗрдВред
рдЗрд╕ рдХрд▓реНрдкрд┐рдд рдХрд╛ рдиреИрддрд┐рдХ рдХреНрдпрд╛ рд╣реИ? рдФрд░ рдХреЛрдИ рдиреИрддрд┐рдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдиреЙрдЯрд┐рд▓рд╕ рд╕рд╣реА рд╣реИред рд▓реЗрдХрд┐рди рдХреБрдЫ рд╕рдВрдЧрдардирд╛рддреНрдордХ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐ рд╣рд░ рдЬрдЧрд╣ рдФрд░ рд╣рдореЗрд╢рд╛ рдПрдХ рд╕рдбрд╝рд╛ рд╣реБрдЖ рдФрд░ рд╕реВрдЬрд╛ рд╣реБрдЖ рдХреЛрдб рд╣реЛрддрд╛ рд╣реИ, рдирд┐рд░реНрджрдпрддрд╛ рд╕реЗ рдХрдЪрд░реЗ рдХреЛ рдмрд╛рд╣рд░ рдлреЗрдВрдХрдиреЗ рдореЗрдВ рд╕рдВрдХреЛрдЪ рди рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐ IOCCC рд╕рднреА рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИред ;) рдпрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐ рдЬрдЯрд┐рд▓ рд░реВрдк рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк, рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдХреЛрдб рдХреЛ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рддреЗрдЬ рдФрд░ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рдХреЙрдореНрдкреИрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдореЗрд░реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╡рд┐рдЪрд╛рд░ рдореЗрдВ рдЕрдВрддрд┐рдо, рдореБрдЦреНрдп рдмрд╛рдд рд╣реИред рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд▓рд┐рдЦреЗрдВ, рдпрд╣ рддреЗрдЬ рдФрд░ рдордЬреЗрджрд╛рд░ рд╣реИред