登录
首页 >  Golang >  Go问答

计算 Cassandra 表中记录数量的 GoCQL 驱动程序使用方法

来源:stackoverflow

时间:2024-02-29 20:33:25 440浏览 收藏

各位小伙伴们,大家好呀!看看今天我又给各位带来了什么文章?本文标题《计算 Cassandra 表中记录数量的 GoCQL 驱动程序使用方法》,很明显是关于Golang的文章哈哈哈,其中内容主要会涉及到等等,如果能帮到你,觉得很不错的话,欢迎各位多多点评和分享!

问题内容

我想用 golang(更喜欢 gocql)编写一个简单的程序来计算 cassandra 表中的记录数。这样我就可以减少数据库一次的负载量并减少超时的可能性。我只是想用 where 子句计算元素的数量。

如果可能的话,请简短地提出答案,我是一个完全的新手。这对我有很大帮助。

类似于查询给定 userid 的用户的订单数量

Select * from KeySpace.OrderTable where userid = userId

正确答案


这是一个极其简化的应用程序,它使用 gocql 驱动程序计算分区 localsystem.local 表中的行数:

package main

import (
    "fmt"
    "github.com/gocql/gocql"
)

func main() {
    // connect to a Cassandra cluster running locally
    cluster := gocql.NewCluster("127.0.0.1:9042")
    session, _ := _cluster.CreateSession()

    iter := session.Query(`SELECT COUNT(version) FROM system.local WHERE key = 'local'`).Iter()
    for iter.Scan(&rows) {
        fmt.Printf("%d rows\n", rows)
    }
}

请记住,您应该只计算分区内的行数。无界查询(不限于分区键)将执行全表扫描,这很昂贵,正如我在 Why COUNT() is bad in Cassandra 中记录的那样。干杯!

本篇关于《计算 Cassandra 表中记录数量的 GoCQL 驱动程序使用方法》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>