SQLite/Python 3 数据库 - 每个键有多条记录

问题描述 投票:0回答:1
AB_123, a location, unique_url, some_date, a name
AB_123, a location, unique_url, some_date, a name
AB_123, a location, unique_url, some_date, a name
AB_123, a location, unique_url, some_date, a name
CD_456, a location, unique_url, some_date, a name
EF_678, a location, unique_url, some_date, a name
EF_678, a location, unique_url, some_date, a name
EF_678, a location, unique_url, some_date, a name
GH_890, a location, unique_url, some_date, a name
GH_890, a location, unique_url, some_date, a name

我的第一个数据库项目,请原谅我天真的问题。

我的数据结构如下 - 我的代码的使用者将使用一个键(多个实例)进行搜索(例如 AB_123),并返回所有匹配行的数据。因此,在此示例中,SEARCH('AB_123) 将返回 4 行数据。

所有字段都是字符串。使用 Python 3 和 SQLite。大约 320,000 条记录。清晰度比性能更重要。

我的研究表明,多桌是最好的选择,但我很快就迷失了方向。我已经接近用一张表找到解决方案,但我不得不继续回溯。

我觉得有一个简单、优雅的解决方案,特别是在性能是次要的情况下。

有什么指示我应该看什么型号吗?

-莫莉

sql python-3.x sqlite
1个回答
0
投票

“主键”是唯一的。示例中的 ABC* 列不是唯一的,因此它不能是“键”。听起来您想在第一列上创建索引,这将影响(通常以积极的方式)查找的性能。如果

unique_url
确实是唯一的,那么它可能是主键,但这对于搜索第一列来说并不重要。

© www.soinside.com 2019 - 2024. All rights reserved.