【问题标题】:Get database statistics via GORM通过 GORM 获取数据库统计信息
【发布时间】:2020-05-27 13:48:27
【问题描述】:

我正在我的项目中从 database/sql 迁移到 jinzhu/gorm。以前,我使用Stats 方法捕获了我的数据库情况。我想知道如何在 GORM 中实现这一点?我在官方文档中没有找到任何东西。

【问题讨论】:

    标签: go go-gorm


    【解决方案1】:

    gorm(通常)是sql.DB 的包装器。

    您可以通过调用DB.DB() 访问底层*sql.DB 对象。然后,您可以访问标准库中的任何方法,包括 DB.Stats()

    注意文档中的注释:

    DB get *sql.DB from current connection 如果底层数据库 连接不是 *sql.DB,返回 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()
    }
    

    【讨论】:

      【解决方案2】:

      来自Gorm Doc

      从 *gorm.DB 连接获取通用数据库接口 *sql.DB

      //获取通用数据库对象*sql.DB以使用其功能

      db.DB()

      使用db.DB() 可以得到*sql.DB 并使用函数.Stats() 其中db*gorm.DB 连接

      sqlDBStats := db.DB().Stats()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-02-08
        • 1970-01-01
        • 2013-04-13
        • 1970-01-01
        • 2014-06-14
        • 1970-01-01
        • 1970-01-01
        • 2019-10-04
        相关资源
        最近更新 更多