【问题标题】:What is Symbol column in QuestDb?QuestDb 中的符号列是什么?
【发布时间】:2021-01-08 09:40:04
【问题描述】:

我正在试用 QuestDb,它有 Symbol column 类型。 据我了解,存储很少更改的小字符串值很有用。在什么时候最好为字符串使用单独的表并使用整数键代替?我的简化架构是 2 个表:

仪器:ISIN、名称

价格:ISIN、PriceValue、日期

仪器是有限的,但随着时间的推移可以增长到 100 万条记录。我应该在价格中使用 ISIN 的符号列还是更好地创建整数仪器 ID 并引用它?

【问题讨论】:

    标签: database-design questdb


    【解决方案1】:

    内部符号已存储为单独的表。尽管表似乎在内部列显示符号列的字符串值 存储 32 位整数。对于财务情况,ISIN 和其他代码应始终是符号。 符号针对代码查找进行了优化,例如下面的一个选择一天的整个时间序列

    select isin, ... from tab where isin = 'GB00BH4HKS39' and ts = '2021-01'
    

    代码聚合:

    select isin, sum(volume) from tab where ts = '2021-01'
    

    不使用符号类型的情况是当您的数据集具有太多不同的字段值时。我会量化 “太多”超过 100,000 个值。此时,必须将 String 解析为 Int 的代码的性能开始,反之亦然 逐渐减少。

    【讨论】:

      猜你喜欢
      • 2022-10-23
      • 2010-11-19
      • 1970-01-01
      • 2012-04-19
      • 2011-03-19
      • 2021-03-23
      • 2012-07-01
      • 2011-03-20
      • 2018-09-20
      相关资源
      最近更新 更多