【发布时间】:2018-07-18 19:43:31
【问题描述】:
我有一个混合 Cordova Android 移动应用程序,它在 SQLite 数据库中记录用户活动。每个行条目都有有助于表征活动性质的列。一个这样的列记录了一周中不同日子的三个子活动,我将它们表示为三个子活动的整数数组[0..6,7..13,14..20]。此外,我希望能够区分“正常”日和恰好是公共假期的活动。我通过在数组中记录一个否定条目来做到这一点。为了更清楚,这里有一个例子
[0,-2,9,13,-18,20]
代表
- 周日子活动A
- 周二公共假期子活动A
- 周三和周六子活动 B
- 周五公众假期子活动C
- 周六子活动C
这相对简单——我可以将数组存储为 JSON。但是,我也希望能够尽可能高效地查询该集合的成员资格。我能想到的唯一方法是使用LIKE 条件。例如
SELECT * FROM TABLE WHERE activity_column LIKE '%-2%'
我希望返回在公共假日星期二记录活动的所有行。
我怀疑这可能会奏效。但是,我是 Android 数据库的新手。我知道 SQLite 是默认解决方案。是否有一个选项 - 无论是在 SQLite 中还是在替代方案中 - 可以使这种存储和搜索更加高效且不那么复杂?
【问题讨论】:
标签: android sqlite set sql-like