SQLite Table 用于创建 1:Many 索引关系的结构

SQLite Table Structure for Creating a 1:Many Index Relationship

问题 无法使用引用 table 中多行的索引列创建 table。下面是我正在尝试创建的图片示例。

概览 想象一个 (SQLite) table 将持有股票股息支付。索引列设置为股票代码。但是,每个股票代码都引用多个记录,这些记录由时间戳组织。 SQLite 上的文档和大约 15 个其他教程似乎都专注于索引,其中索引和记录之间始终存在 1:1 关系。我想创建一个具有 1:many 关系的索引。

查找将按代码找到合适的股票,然后(可能)在第一列中的日期找到二级索引。但是我找不到任何其他人试图建立这种结构的例子。让我觉得也许我没有正确的方法,或者这只是一个特例。

我不认为你的问题实际上是一个问题。在列上放置索引并不意味着它必须包含唯一值。索引列中的值重复是完全合理的。当然也有递减的returns。例如。如果您有一百万行,而一列中只有五个不同的值,那么该列上的索引实际上不会为您做太多事情。

一个好的经验法则是从您在 where 子句中使用的列的索引开始。然后 运行 查询并查看您是否获得令人满意的性能。