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

前端之家收集整理的这篇文章主要介绍了cassandra – 使用TEXT作为主键时是否有任何性能损失?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果是,如果我想拥有一个独特的TEXT字段,数据模型会是什么样子?

解决方法

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

它唯一重要的情况是令牌/节点分配.这是因为生成的“12345”标记作为文本将不同于为12345生成标记作为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)

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

猜你在找的HTML相关文章