【问题标题】:Join on 3 different table takes time to fetch data加入 3 个不同的表需要时间来获取数据
【发布时间】:2012-01-30 07:06:32
【问题描述】:

我正在应用连接查询从我的 iPhone 应用程序的数据库中获取数据。
查看我的查询
"select A.a1, A.a2, B.b1, B.b2, C.c1, C.c2, from A LEFT OUTER JOIN B ON A.a3 = B.b3 AND A.a4 = B.b4 LEFT OUTER JOIN C ON A.a5 = C.c3 Where A.a6 = '%@'"

这里 A 包含 30K 多条记录,B 包含 20K 条记录,C 包含 200 条记录。 有什么方法可以减少获取数据的时间吗?

注意:此查询返回正确的结果。

【问题讨论】:

  • 可能的解决方案是进行自定义分页,因为我猜您不会在 iphone 屏幕上一次向用户显示所有记录。分页需要一些努力来实现,但这将是应用程序性能的最佳解决方案。
  • 实际上,查询最多返回 100 条记录,数千条记录,所以我认为分页不是一个好的选择。 :)

标签: iphone performance sqlite


【解决方案1】:

在这种情况下,您可以在表中使用列索引。以下链接指向如何在 Sqlite 数据库中创建索引。

  1. creating the index
  2. Same question answered here.

这可能会对你有所帮助。

【讨论】:

    【解决方案2】:

    您是否尝试过索引表 A ?如果不试试.. 这可能是一种减少获取数据时间的方法.. 警告:在错误的地方使用索引可能会影响您的性能

    【讨论】:

      猜你喜欢
      • 2019-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-24
      • 1970-01-01
      相关资源
      最近更新 更多