通过 GORM 获取数据库统计信息
Get database statistics via GORM
我正在从我的项目中的 database/sql
迁移到 jinzhu/gorm
。以前,我用 Stats
方法捕获我的数据库情况。我想知道如何在 GORM 中实现它?我在官方文档中什么也没找到。
gorm
(通常)是 sql.DB
.
的包装器
您可以通过调用 DB.DB() 访问基础 *sql.DB
对象。然后您可以访问标准库中的任何方法,包括 DB.Stats()
.
注意文档中的注释:
DB get *sql.DB
from current connection If the underlying database
connection is not a *sql.DB, returns nil
例如:
// db is a *gorm.DB
db, err := gorm.Open("mysql", connectionString)
...
// sqlDB is a *sql.DB
sqlDB := db.DB()
if sqlDB != nil {
// Call to the standard library's sql.DB.Stats
stats := sqlDB.Stats()
}
来自 Gorm Doc
Get generic database interface *sql.DB from *gorm.DB connection
//Get generic database object *sql.DB
to use its functions
db.DB()
使用 db.DB()
你可以获得 *sql.DB
并使用函数 .Stats()
其中 db
是 *gorm.DB
连接
sqlDBStats := db.DB().Stats()
我正在从我的项目中的 database/sql
迁移到 jinzhu/gorm
。以前,我用 Stats
方法捕获我的数据库情况。我想知道如何在 GORM 中实现它?我在官方文档中什么也没找到。
gorm
(通常)是 sql.DB
.
您可以通过调用 DB.DB() 访问基础 *sql.DB
对象。然后您可以访问标准库中的任何方法,包括 DB.Stats()
.
注意文档中的注释:
DB get
*sql.DB
from current connection If the underlying database connection is not a *sql.DB, returns nil
例如:
// db is a *gorm.DB
db, err := gorm.Open("mysql", connectionString)
...
// sqlDB is a *sql.DB
sqlDB := db.DB()
if sqlDB != nil {
// Call to the standard library's sql.DB.Stats
stats := sqlDB.Stats()
}
来自 Gorm Doc
Get generic database interface *sql.DB from *gorm.DB connection
//Get generic database object
*sql.DB
to use its functionsdb.DB()
使用 db.DB()
你可以获得 *sql.DB
并使用函数 .Stats()
其中 db
是 *gorm.DB
连接
sqlDBStats := db.DB().Stats()