gpt4 book ai didi

cassandra - 使用 TEXT 作为主键时是否有任何性能损失?

转载 作者:行者123 更新时间:2023-12-04 03:38:57 26 4
gpt4 key购买 nike

如果是,如果我想要一个唯一的 TEXT 字段,数据模型会是什么样子?

最佳答案

不。无论使用哪种数据类型,Cassandra 都将所有数据(包括主键值)存储在磁盘上作为十六进制字节数组。在性能方面,主键的数据类型真的无关紧要。

唯一重要的情况是 token /节点分布。这是因为为 "12345" 生成的 token 因为文本将与为 12345 生成的 token 不同作为一个bigint:

aploetz@cqlsh:stackoverflow> CREATE TABLE textaskey (key text PRIMARY KEY, value text);
aploetz@cqlsh:stackoverflow> CREATE TABLE longaskey (key bigint PRIMARY KEY, value text);
aploetz@cqlsh:stackoverflow> INSERT INTO textaskey (key, value) VALUES ('12345','12345');
aploetz@cqlsh:stackoverflow> INSERT INTO longaskey (key, value) VALUES (12345,'12345');
aploetz@cqlsh:stackoverflow> SELECT token(key),value FROM textaskey ;

token(key) | value
---------------------+-------
2375712675693977547 | 12345

(1 rows)
aploetz@cqlsh:stackoverflow> SELECT token(key),value FROM longaskey;

token(key) | value
---------------------+-------
3741197147323682197 | 12345

(1 rows)

但即使在这个例子中,一个也不应该比另一个执行得更快/不同。

关于cassandra - 使用 TEXT 作为主键时是否有任何性能损失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28191761/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com