func NewCkConn(ckInfo config.CkConfig) (*dbr.Connection, error) {
conn, err := dbr.Open("clickhouse", "http://"+ckInfo.Username+":"+ckInfo.Password+"@"+ckInfo.Host+":"+ckInfo.Port+"/"+ckInfo.Database, nil)
if err != nil {
return nil, err
}
return conn, nil
}
查询
rows.next是从内存中一条一条的取出
rows.Scan是进行赋值
记住next与scan组合进行赋值的
func (m *Metric) TotalAmount(sql string) (TotalAmount, error) {
rows, err := ck.Query(sql)
if err != nil {
return TotalAmount{}, err
}
var res TotalAmount
for rows.Next() {
err = rows.Scan(&res.CpuUseds, &res.CpuTotals, &res.MemUseds, &res.MemTotals)
if err != nil {
return TotalAmount{}, err
}
}
return res, nil
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)