рд╕рд░реНрд╡рд░: MySQL 5.6
рд╕рдВрдЧреНрд░рд╣рд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛:
DELIMITER //
CREATE PROCEDURE slowInsert(IN t int)
BEGIN
SELECT SLEEP(t);
INSERT INTO `table_x` (message) VALUES (UUID());
END //
DELIMITER ;
рдЧреЛ рдХреЛрдб:
package main
import (
"context"
"database/sql"
"time"
_ "github.com/go-sql-driver/mysql"
)
func main() {
db, err := sql.Open("mysql", "<url>")
if err != nil {
panic(err)
}
db.SetConnMaxLifetime(9 * time.Second)
db.SetMaxIdleConns(12)
db.SetMaxOpenConns(12)
ctx := context.Background()
ctx, cancel := context.WithTimeout(ctx, time.Duration(3)*time.Second)
defer cancel()
_, err = db.ExecContext(ctx, "call slowInsert( 10 )") // context will cancel before insert occurs
if err != nil {
panic(err)
}
}
рд╣рдо рдЕрдЬреАрдм рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдЬрдм рд╣рдо mysql рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ slowInsert( 10 )
рдЪрд▓рд╛рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реАрдХреНрд╡рд▓ рдкреНрд░реЛ), рддреЛ рд╕рдореНрдорд┐рд▓рди рд╕реЗ рдкрд╣рд▓реЗ 10 рд╕реЗрдХрдВрдб рдХреЗ рдЗрдВрддрдЬрд╛рд░ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдпрд╣ рдорд╛рдирдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдЦрд░реАрдж рдЧрд▓рдд рдпрд╛ рдЕрдорд╛рдиреНрдп рд╣реИред
рдЬрдм рд╣рдо рдКрдкрд░ рджрд┐рдП рдЧрдП рдЧреЛ рдХреЛрдб рдХреЛ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрджрд░реНрдн 3 рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рдж рд░рджреНрдж рд╣реЛ рд░рд╣рд╛ рд╣реИ - рд╕рдм рдареАрдХ рд╣реИред
... рд▓реЗрдХрд┐рди рддреБрд░рдВрдд рд╕рдореНрдорд┐рд▓рди рд╣реЛрддрд╛ рд╣реИред (рдпрд╣ 10 рд╕реЗрдХрдВрдб рдкреНрд░рддреАрдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ)ред
рдЕрдм, рдЕрдЧрд░ рд╣рдо рд╕рдВрдЧреНрд░рд╣рд┐рдд рдЦрд░реАрдж рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдпрд╣ рд╣реЛ:
DELIMITER //
CREATE PROCEDURE slowInsert(IN t int)
BEGIN
SELECT SLEEP(t/2); // <---- The change
SELECT SLEEP(t/2); // <---- The change
INSERT INTO `table_x` (message) VALUES (UUID());
END //
DELIMITER ;
рдЧреЛ рдХреЛрдб рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреНрд╡реЗрд░реА рдХреЛ рд░рджреНрдж рдХрд░ рджреЗрддрд╛ рд╣реИ (рдпрд╛рдиреА рдХреЛрдИ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ)ред
рджреЛрдиреЛрдВ рд╣реА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╣рдорд╛рд░рд╛ mysql рдХреНрд▓рд╛рдЗрдВрдЯ (рд╕реАрдХреНрд╡рд▓ рдкреНрд░реЛ) рдкреНрд░рддреАрдХреНрд╖рд╛ рдЕрд╡рдзрд┐ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рджреЛрдиреЛрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдкреНрд░реЛрд╕реЗрд╕ рд╕рдорд╛рди рд╣реИрдВред
рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдЧреЛ рдХреЛрдб рдореЗрдВ, рджреВрд╕рд░рд╛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдкреНрд░реЛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдкрд╣рд▓рд╛ рдирд╣реАрдВ - рд╣рдорд╛рд░реЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреЗ рд▓рд┐рдП рдЕрдЧреНрд░рдгреА рд╣реИ рдХрд┐ рдбреНрд░рд╛рдЗрд╡рд░ рдореЗрдВ рдХреБрдЫ рдЕрдЬреАрдм рдмрдЧ рд╣реИред
@ рдПрд▓реЗрд╕рд┐рдпреЛ-рдкрд╛рд▓реБрдореНрдмреЛ
рдпрд╣ рдХреЛрдИ рдмрдЧ рдирд╣реАрдВ рд╣реИред рд╣рдо рдЕрднреА рддрдХ рдХреНрд╡реЗрд░реА рд░рджреНрдж рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
рдФрд░ SLEEP()
рдмрд╣реБрдд рд╣реА рдЦрд╛рд╕ рдХреНрд╡реЗрд░реА рд╣реИред рдпрд╣ рдЬрд╛рдБрдЪрддрд╛ рд╣реИ рдХрд┐ рдХрдиреЗрдХреНрд╢рди рдЬреАрд╡рд┐рдд рд╣реИ рдпрд╛ рдирд╣реАрдВред
рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ, MySQL рдХреНрд╡реЗрд░реА рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рддрдХ рдХрдиреЗрдХреНрд╢рди рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рд░реАрдбрдореА: https://github.com/go-sql-driver/mysql#contextcontext -support
Go 1.8 added database/sql support for context.Context. This driver supports query timeouts and cancellation via contexts. See context support in the database/sql package for more details.
рдареАрдХ рд╣реИ, рд░реАрдбрдореА рднреНрд░рд╛рдордХ рд╣реИред рдпрд╣ рд╕рд┐рд░реНрдл "рдкреНрд░рддреАрдХреНрд╖рд╛" рдХреНрд╡реЗрд░реА рдкрд░рд┐рдгрд╛рдо рдХреЛ рд░рджреНрдж рдХрд░ рд░рд╣рд╛ рд╣реИ, рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрди рдирд╣реАрдВред
MySQL рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд░рджреНрдж рдХрд░рдиреЗ рдХрд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдХреБрдЫ рд╕реАрдПрд▓рдЖрдИ рд░рджреНрдж рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреБрдЫ рдкрд░реНрдпрд╛рд╡рд░рдг рдкрд░ рд╕реБрд░рдХреНрд╖рд┐рдд/рд╕реНрдерд┐рд░ рдирд╣реАрдВ рд╣реИред
рдзрдиреНрдпрд╡рд╛рдж
рдЖрдкрдХреЛ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рд▓реЗрдирджреЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдкреНрд░рддрд┐рдмрджреНрдз рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдпрд╣ рд░реЛрд▓рдмреИрдХ рд╣реЛ рдЧрдпрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП рд▓реЗрди-рджреЗрди рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛрдиреЗ рдкрд░ рдЯрд╛рдЗрдордЖрдЙрдЯред
@andizzle @alexclifford @edwardhutchison
рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рдмрд╛рдж рдкрд╣рд▓реЗ рд╕реНрдЯреЛрд░рдкреНрд░реЛрдХ рдХреНрдпреЛрдВ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рджреВрд╕рд░рд╛ рд╕реНрдЯреЛрд░рдкреНрд░реЛрдХ рд╕рдореНрдорд┐рд▓рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдХрдерди рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдпрд╣ рдпрд╛ рддреЛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдпрджрд┐ рдбреНрд░рд╛рдЗрд╡рд░ рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд░рджреНрдж рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдРрд╕рд╛ рдХреНрдпреЛрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирд┐рд╖реНрдкрд╛рджрди рд░рджреНрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?
рдпрд╣ MySQL рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред рдореИрдВ рдЬреНрдпрд╛рджрд╛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ред рд▓реЗрдХрд┐рди рдХрдиреЗрдХреНрд╢рди рдмрдВрдж рд╣реЛрдиреЗ рдкрд░ SLEEP() рдореЗрдВ рдмрд╣реБрдд рдЕрдЬреАрдм рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛрддрд╛ рд╣реИред
@julienschmidt рдЖрдк рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ: https://github.com/src-d/gitbase-web/issues/241#issuecomment -427740194
рд╣рдо рд╕рд╣реА рдХреНрд╡реЗрд░реА рдХреЗ рд▓рд┐рдП
KILL
рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдПSHOW FULL PROCESSLIST
рдФрд░KILL
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдЗрд╕реЗ рдбреНрд░рд╛рдЗрд╡рд░ рд╕реНрддрд░ рдкрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реЗ рдХрдиреЗрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬрд┐рд╕ рдкрд░ рдбреНрд░рд╛рдЗрд╡рд░ рдЗрди рдЖрджреЗрд╢реЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдпрд╛ рддреЛ рдПрдХ рд╕рд╛рдЭрд╛ "рдкреНрд░рдмрдВрдзрди рдХрдиреЗрдХреНрд╢рди" рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдорд╛рдВрдЧ рдкрд░ рдЦреЛрд▓реЗ рдЧрдП рдХрдиреЗрдХреНрд╢рди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдмрдирд╛ рджреЗрдЧрд╛ред рдЕрднреА рд╕рддреНрд░реЛрдВ рдФрд░ рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреА рд╕рднреА рд╣реИрдВрдбрд▓рд┐рдВрдЧ database/sql
рдкреИрдХреЗрдЬ рджреНрд╡рд╛рд░рд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рди рдХрд┐ рдбреНрд░рд╛рдЗрд╡рд░ рджреНрд╡рд╛рд░рд╛, рдЬреЛ рд╕рд┐рд░реНрдл рдПрдХ рдирдпрд╛ рдХрдиреЗрдХреНрд╢рди рдЖрджрд┐ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╣реА рд╕рд░реНрд╡рд░ рдЦреЛрдЬрдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ (рдЬрдм рддрдХ рдХрд┐ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рди рд╣реЛ)ред рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ mysql рд▓реЛрдб-рдмреИрд▓реЗрдВрд╕рд┐рдВрдЧ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд╕рд╛рде рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд╣реИрдЯ SHOW FULL PROCESSLIST
рдЧрд▓рдд рд╕рд░реНрд╡рд░ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ рдФрд░ рд╣рдореЗрдВ рдХреНрд╡реЗрд░реА рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣реА рд╣реЛред
рдХреНрдпрд╛ рдЖрдк рдХрд┐рд╕реА рдХреНрд╡реЗрд░реА рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд░рджреНрдж рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП database/sql
рдореЗрдВ рдЬреЛ рдХреБрдЫ рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЙрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреЛ 2 рдкреНрд░рд╕реНрддрд╛рд╡ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ?
рдореИрдВ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рд╕реЛрдЪрддрд╛ рд╣реВрдВ рдХрд┐ database/sql
рдпрд╛ рдпрд╣ рдбреНрд░рд╛рдЗрд╡рд░ рдпрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд░рд▓ MySQL рд╕реНрд╡рдпрдВ рд╣реИ, рдЬреЛ рдЪрд▓ рд░рд╣реА рдХреНрд╡реЗрд░реА рдХреЛ рд░рджреНрдж рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди
рдПрдХ рдЕрдЪреНрдЫреА рд╢реБрд░реБрдЖрдд рддрдм рд╣реЛрдЧреА рдЬрдм рд╕рд░реНрд╡рд░ рдХреЛ рднреЗрдЬреЗ рдЧрдП рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ
рдПрдХрд▓ рд╕рд░реНрд╡рд░ рд╕реЗрдЯрдЕрдк рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХреЗ рд╕рдорд╛рди рддрд░реАрдХреЗ рд╕реЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рд░рджреНрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдПрдХ рдирдпрд╛ рдХрдиреЗрдХреНрд╢рди рдЦреЛрд▓реЗрдВ рдФрд░ рддреБрд░рдВрдд KILL
рдХрдорд╛рдВрдб рднреЗрдЬреЗрдВред
рдХреБрдЫ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд╕рд╛рде рдорд╛рдорд▓рд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реИред рдЕрднреА рдРрд╕реЗ рдкреНрд░реЙрдХреНрд╕реА рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд╛рд░рджрд░реНрд╢реА рд╣реИрдВред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХрд┐рд╕реА рдЕрдиреНрдп рдореМрдЬреВрджрд╛ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рдорд╛рди рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдиреЗрдХреНрд╢рди рдЦреЛрд▓рд╛ рдЧрдпрд╛ рд╣реИ, рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╕рдорд╛рди рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреБрд▓рд╛ рдкреАрдЖрд░ рд╣реИ (рдПрдХрд▓ рд╕рд░реНрд╡рд░ рд╕реЗрдЯрдЕрдк рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП) рдкрд╣рд▓реЗ рд╕реЗ рд╣реА: https://github.com/go-sql-driver/mysql/pull/791
рдореИрдВ MySQL рдХреЗ рд╕рд╛рде рдПрдХ рдлреАрдЪрд░ рдЕрдиреБрд░реЛрдз рд╕рдмрдорд┐рдЯ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред рдЕрдЧрд░ рдореИрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдИрдбреА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╢реНрди рдкреВрдЫрддрд╛ рд╣реВрдВ, рддреЛ рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдкрд┐рдЫрдбрд╝рд╛-рдЕрд╕рдВрдЧрдд рдкрд░рд┐рд╡рд░реНрддрди рдкреИрджрд╛ рдХрд░реЗрдЧрд╛ рдЬрд┐рд╕рд╕реЗ рд╡реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджреЗрдВрдЧреЗ?
рдпрд╣ рдХреЗрд╡рд▓ рд░рджреНрдж рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдХреБрдЫ рдФрд░ рдореБрджреНрджреЗ рд╣реИрдВред
рдкреГрдереНрд╡реА рдкрд░ рдХреЛрдИ "рд░рд┐рдореЛрдЯ рдкрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░рджреНрдж" рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдирд╣реАрдВ рд╣реИред
рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдХреБрдЫ CPU рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╡реИрд╕реЗ рднреА, рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ?
рд░рджреНрджреАрдХрд░рдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╕реЗ рдЕрдЬреАрдм рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рдмрдЪрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЖрдк рдирд╣реАрдВ рдЬрд╛рди рд╕рдХрддреЗ рдХреНрд╡реЗрд░реА "рд╕рдВрджрд░реНрдн рджреНрд╡рд╛рд░рд╛ рд░рджреНрдж" рдХреЛ MySQL рд╕рд░реНрд╡рд░ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдпрд╛ рд░рджреНрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдЯрд╛рдЗрдорд┐рдВрдЧ рдХрд╛ рдорд╕рд▓рд╛ рд╣реИред
рдХреЗрд╡рд▓ рдЖрдк рд╣реА рд▓реЗрди-рджреЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ; рд╕рднреА рдХреНрд╡реЗрд░реА рдХреЛ рд╡рд╛рдкрд╕ рд░реЛрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдпрджрд┐ рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "рдХреИрдВрд╕рд┐рд▓рд┐рдВрдЧ рдХреНрд╡реЗрд░реА рд▓рд╛рдЧреВ рдХрд░реЗрдВ" рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рджрд░реНрдЬ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдмрдВрдж рдХрд░реЗрдВред
рдпрд╣рд╛рдБ рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ: https://medium.com/@rocketlaunchr.cloud/canceling -mysql-in-go-827ed8f83b30
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдЗрд╕реЗ рдбреНрд░рд╛рдЗрд╡рд░ рд╕реНрддрд░ рдкрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реЗ рдХрдиреЗрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬрд┐рд╕ рдкрд░ рдбреНрд░рд╛рдЗрд╡рд░ рдЗрди рдЖрджреЗрд╢реЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдпрд╛ рддреЛ рдПрдХ рд╕рд╛рдЭрд╛ "рдкреНрд░рдмрдВрдзрди рдХрдиреЗрдХреНрд╢рди" рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдорд╛рдВрдЧ рдкрд░ рдЦреЛрд▓реЗ рдЧрдП рдХрдиреЗрдХреНрд╢рди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдмрдирд╛ рджреЗрдЧрд╛ред рдЕрднреА рд╕рддреНрд░реЛрдВ рдФрд░ рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреА рд╕рднреА рд╣реИрдВрдбрд▓рд┐рдВрдЧ
database/sql
рдкреИрдХреЗрдЬ рджреНрд╡рд╛рд░рд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рди рдХрд┐ рдбреНрд░рд╛рдЗрд╡рд░ рджреНрд╡рд╛рд░рд╛, рдЬреЛ рд╕рд┐рд░реНрдл рдПрдХ рдирдпрд╛ рдХрдиреЗрдХреНрд╢рди рдЖрджрд┐ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИредрд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╣реА рд╕рд░реНрд╡рд░ рдЦреЛрдЬрдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ (рдЬрдм рддрдХ рдХрд┐ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рди рд╣реЛ)ред рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ mysql рд▓реЛрдб-рдмреИрд▓реЗрдВрд╕рд┐рдВрдЧ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд╕рд╛рде рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд╣реИрдЯ
SHOW FULL PROCESSLIST
рдЧрд▓рдд рд╕рд░реНрд╡рд░ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ рдФрд░ рд╣рдореЗрдВ рдХреНрд╡реЗрд░реА рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣реА рд╣реЛред