Estoy configurando una base de datos SQLite simple para almacenar las lecturas del sensor. Las mesas se verá algo como esto:¿Cuántas filas puede contener una tabla SQLite antes de que las consultas se conviertan en tiempo?
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)
La solicitud será la captura de alrededor de 100.000 lecturas de los sensores al mes de unos 30 sensores diferentes, y me gustaría seguir todas las lecturas de los sensores en el PP el mayor tiempo posible.
mayoría de las consultas serán en forma
SELECT * FROM sensor_readings WHERE sensor_id = x AND time > y AND time < z
Esta consulta devolverá normalmente unos 100-1000 resultados.
Así que la pregunta es, ¿qué tan grande puede llegar la tabla sensor_readings antes de que la consulta anterior sea demasiado lenta (más de un par de segundos en una PC estándar).
Sé que una solución podría ser crear una tabla sensor_readings separada para cada sensor, pero me gustaría evitar esto si no es necesario. ¿Hay alguna otra forma de optimizar este esquema de base de datos?