sql - 数组和连接之间的 Postgresql 性能比较

标签 sql database performance postgresql database-performance

与创建另一个表来存储具有多对多关系的值相比,在 postgres 中使用数组存储值对性能有何影响?

我有一个表需要能够在数组列或单独的表中存储大约 1-100 个不同的字符串值。需要经常搜索这些值以进行精确匹配,因此查找性能至关重要。数组解决方案会更快,还是使用联接在单独的表中查找值会更快?

最佳答案

These values will need to be frequently searched

如何搜索?这是至关重要的。

仅前缀模式匹配?中缀/后缀模式也匹配吗?模糊字符串搜索/相似度匹配?根词的 stub 和规范化,去复数化?同义词搜索?数据是字符序列还是自然语言文本?一种语言,还是多种不同的语言?

在“已搜索”周围挥手会让任何忽略该部分的答案都变得无效。

so lookup performance is critical. Would the array solution be faster, or would it be faster to use joins to lookup the values in the separate table?

如果没有关于您正在搜索的数据的正确信息,就不可能严格确定。

搜索文本字段更加灵活,为您提供数组搜索所没有的许多选项。它还通常减少了必须读取的数据量。

总的来说,我强烈支持 Clodaldo:正确设计。如果需要,稍后进行优化。

关于sql - 数组和连接之间的 Postgresql 性能比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23810917/

相关文章:

sql - 我应该暂时禁用外键约束吗?如何?

php - HTML/PHP/SQL - 带参数的查询

MySQL过程循环错误

database - Cassandra 中分区键、组合键和集群键之间的区别?

sql-server - 您首选的记录数据库的文档格式是什么

ios - 如何在 Corona SDK 游戏应用程序中测量/量化 "sluggishness"?

performance - Windows 错误报告 IIS 性能影响?

SQL-如何检查项目是否在记录的列表中

python - 这对缓冲区操作更有效 : python strings or array()

javascript - 如何使用数据库连接运行 Mongo JS Shell 脚本