我计划为 SQLite 生成查询,其中涉及 12 个表的许多连接,这将超过 SQLite 中 64 个表的连接限制。 (~250 个表连接或可能更多)这最终将在 android 上运行。这背后的目的是根据生成的报告在结果集中包含 X 数量的用户定义字段。
不幸的是,我不是 DBA,我不知道实现此目标的最佳方法。
到目前为止,我认为选项是:
- 使用 2 个临时表来兼顾结果集,同时加入尽可能多的数量。 (我以前在 SQLServer 中的解决方案,相当慢)
- 生成几列的结果集和一个要连接的键,并将它们存储在
n
临时表中。 (其中n
小于 64)然后将所有临时表连接到它们的公共(public)键上。 - 创建一个临时表并一次填充一个插入或更新。
- 不要进行大连接,而是执行多次选择并填充某种数据容器。
还有什么我应该考虑的吗?
最佳答案
根据您对 Mike 回复的评论,“生成报告的查询需要多次加入和重新加入”。
通常,在处理报告时,您会希望将查询拆分成小块,并在适用的情况下将中间结果存储在临时表中。
此外,您的问题听起来像是您拥有一个实体/属性/值存储并试图对整个事物进行调整。如果是这样,您可能需要重新使用此设计反模式,因为它可能是问题的根源。
关于android - 在 SQlite 中执行超过 64 个表连接的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5900440/