我有一个由图表组成的数据库。我需要访问的表如下所示:
Sno Source Dest
1 'jack' 'bob'
2 'jack' 'Jill'
3 'bob' 'Jim'
这里Sno
是主键。Source 和 Destination 是 2 个非唯一数字,代表我图中节点之间的一条边。我的Source
andDest
也可能是字符串,不一定是数字数据类型。我的数据库中有大约 500 万个条目,我使用 Postgresql 和 Psycopg2 for python 构建了它。
查询主键非常简单快捷。但是,我需要经常查询此数据库以获取所有dest
连接到的特定源。现在我通过调用查询来实现这一点:
SELECT * FROM name_table WHERE Source = 'jack'
事实证明这非常低效(每个查询最多 2 秒)并且我无法将其设为主键,因为它不是唯一的。有没有什么方法可以根据这些重复的值建立索引并快速查询?