Closed
@methane

Description

Issue description

connCheck added in #934 allocates several objects.

./conncheck.go:22:16: ing param: c
./conncheck.go:24:3: moved to heap: n
./conncheck.go:25:3: moved to heap: err
./conncheck.go:26:3: moved to heap: buff
./conncheck.go:37:18: func literal escapes to heap

Allocating 5 objects every time connection is checked out from the sql.DB is not good for performance. This can be a big performance regression.

Additionally, users may want to check liveness only after long idle.
Or Aurora users want to check SELECT @@innodb_read_only to detect fail over. ref.