рдореИрдВ рдЬрд╛рд╡рд╛ рд▓реЗрдирджреЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдУрд░реЗрдХрд▓ рдбреАрдмреАрдПрдордПрд╕ рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдУрд╡рд░рдХреНрд▓реЙрдХ рдХрд░рдиреЗ рдкрд░
рдПрдХ рд▓реЗрдЦ рдкрдврд╝рддрд╛ рд╣реВрдВред рдЪреВрдВрдХрд┐ рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдкреЛрд╕реНрдЯрдЧреНрд░реИрдХреНрд╕реНрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдбреАрдмреАрдПрдордПрд╕ рдЧреЛрд▓рдВрдЧ рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ рдХрд┐рддрдирд╛ рдЙрддреНрдкрд╛рджрди рдХрд░реЗрдЧрд╛ред
рдкреНрд░рдпреБрдХреНрдд рд╕реНрдЯреИрдХ: рдЧреЛрд▓рдВрдЧ -рез.рез.реи + рдкреЛрд╕реНрдЯрдЧреНрд░реИрд╕реНрдХрд▓ -рез репреп редрезред
рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкреЛрд╕реНрдЯрдЧреНрд░реИрд╕реНрдХреЗрд▓ рдХреЗ рд▓рд┐рдП рдЧреЛрд▓рдВрдЧ рдбреНрд░рд╛рдЗрд╡рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ github.com/lib/pq рдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ go get -u github.com/lib/pq рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рд╣реИред
рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдгред
рдЖрд░реНрдХрд┐рдирдХреНрд╕-рдПрдХреНрд╕ 86_64, рдХрд░реНрдиреЗрд▓-3.11.5, 4 рдЬреАрдмреА рд░реИрдо (рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рдордп рд▓рдЧрднрдЧ 1.2 рдЬреАрдмреА рдореБрдлреНрдд) рдХреЗ рд╕рд╛рде рд╣реЛрдо рдбреЗрд╕реНрдХрдЯреЙрдк, рдПрдХ рдирд┐рдпрдорд┐рдд рдкреБрд░рд╛рдиреЗ рдзреБрд░реА рдПрдЪрдбреАрдбреА рдерд╛ред рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХрдо рдпрд╛ рдЬреНрдпрд╛рджрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд╣реИрдВ (рд╢реЗрдпрд░реНрдб_рдмрд░реНрдлрд░реНрд╕ рдХреЛ 768MB рдФрд░ рдореИрдХреНрд╕_рдХрдиреЗрдХреНрдЯ рдкрд░ 1000, + рдХреБрдЫ рдФрд░ рдЯреНрдпреВрдирд┐рдВрдЧ рдкрд░), рд▓реЗрдХрд┐рди рдХрдЯреНрдЯрд░ рдХреЗ рдмрд┐рдирд╛ред
рдкреНрд░рдпреЛрдЧ рдХреА рд╢реБрджреНрдзрддрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдХреЛрдИ рднреА рдЧреЛрд░реЛрдЗрди рдирд╣реАрдВ рдмрдирд╛рдпрд╛ - рд╕рднреА 1 рдзрд╛рдЧреЗ рдореЗрдВред
рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдкрд╛рда package main import ( _ "github.com/lib/pq" "database/sql" "fmt" "time" ) const DB_CONNECT_STRING = "host=localhost port=5432 user=your_role password=your_password dbname=your_database sslmode=disable" func main() { db, err := sql.Open("postgres", DB_CONNECT_STRING) defer db.Close() if err != nil { fmt.Printf("Database opening error -->%v\n", err) panic("Database error") } init_database(&db) make_insertion(&db) } func init_database(pdb **sql.DB) { db := *pdb init_db_strings := []string{ "DROP SCHEMA IF EXISTS sb CASCADE;", "CREATE SCHEMA sb;",
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдкрд╛рда рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ - рд▓реЗрди-рджреЗрди рдореЗрдВ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдЖрд╡рдВрдЯрди, рд╣реЙрд░рд┐рди, рдЕрд╕реНрдерд╛рдпреА рдЯреЗрдмрд▓ рдФрд░ рдЕрдиреНрдп рдЯреНрд░рд┐рдХреНрд╕ - рдкреНрд░рддреНрдпрдХреНрд╖ рдЗрдирдкреБрдЯ рдирд╣реАрдВред
рдЦреИрд░, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рддреИрдпрд╛рд░-рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ред
рдкрд░рд┐рдгрд╛рдо
рдкрд░рд┐рдгрд╛рдо рдореЗрд░реА рдорд╢реАрди рдкрд░ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб 16,000-17,000 рдЖрд╡реЗрд╖рдг рд╣реИрдВред
рдкрд░рд┐рдгрд╛рдо рдирд┐рд░рдВрддрд░ TEST_NUMBER (1000, 2000, 4000, 40000 рд╕реЗрдЯ рдФрд░ 400000 рдкрд░ рд░реЛрдХ рджрд┐рдП рдЧрдП) рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рд╢рд╛рдпрдж рдмрдбрд╝реЗ рдореВрд▓реНрдпреЛрдВ рдкрд░ рдПрдХ рдкреНрд▓рдЧ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкреНрд░рджрд░реНрд╢рди рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
рдЙрд╕рдиреЗ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕рдВрдЦреНрдпрд╛ рдкрд╛рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХреА рдФрд░ рд▓реЗрдирджреЗрди рдХреЗ рд╕рд╛рде рдЫреЗрдбрд╝рдЫрд╛рдбрд╝ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рдереАред
рдирд┐рд╖реНрдХрд░реНрд╖
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдЕрднреА рднреА рдХреБрдЫ рд╣рдж рддрдХ рд╕рд┐рдВрдереЗрдЯрд┐рдХ рд╣реИ - рдмрд╕ рдбреЗрдЯрд╛ рдХреИрд╢ рдореЗрдВ рдлрд┐рдЯ рд╣реЛрддрд╛ рд╣реИред рдХреБрдЫ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдбрд┐рд╕реНрдХ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдкрд░ рдЖрд░рд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рдХрд░реНрдиреЗрд▓ рд╕рд░реНрд╡рд░ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рддреЗрдЬрд╝реА рд╕реЗ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд▓реЗрдЦрдХ рдХреБрдЫ рдЪрд╛рд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдлрд┐рд░ рднреА, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдпрд╣ рдмрдВрдбрд▓ рдХрд╛рдлреА рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред