【发布时间】:2010-09-16 05:04:47
【问题描述】:
我正在设置一个简单的 SQLite 数据库来保存传感器读数。表格将如下所示:
sensors
- id (pk)
- name
- description
- units
sensor_readings
- id (pk)
- sensor_id (fk to sensors)
- value (actual sensor value stored here)
- time (date/time the sensor sample was taken)
该应用程序将每月从大约 30 个不同的传感器捕获大约 100,000 个传感器读数,我希望尽可能长时间地将所有传感器读数保存在数据库中。
大多数查询将在表单中
SELECT * FROM sensor_readings WHERE sensor_id = x AND time > y AND time < z
这个查询通常会返回大约 100-1000 个结果。
所以问题是,在上述查询变得过于耗时(在标准 PC 上超过几秒钟)之前,sensor_readings 表可以有多大。
我知道一种解决方法可能是为每个传感器创建一个单独的 sensor_readings 表,但如果没有必要,我想避免这种情况。还有其他方法可以优化此数据库架构吗?
【问题讨论】:
标签: sqlite