无论使用何种数据类型,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)
Run Code Online (Sandbox Code Playgroud)
但即使在这个例子中,也不应该比另一个更快/更不同.
| 归档时间: |
|
| 查看次数: |
1411 次 |
| 最近记录: |