센서 판독 값을 저장할 간단한 SQLite 데이터베이스를 설정하고 있습니다. 응용 프로그램은 약 30 다른 센서로부터 한달에 약 100,000 센서 판독 값을 캡처합니다쿼리가 시간 소모되기 전에 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)
, 나는 가능한 한 오랫동안 DB에 모든 센서 판독 값을 유지하고 싶습니다 : 표는 다음과 같이 보일 것입니다.
대부분의 쿼리는이 쿼리는 일반적으로 약 100-1000 결과를 반환합니다 형태
SELECT * FROM sensor_readings WHERE sensor_id = x AND time > y AND time < z
에있을 것입니다.
위의 쿼리를 수행하기 전에 sensor_readings 테이블의 크기가 너무 커지면 (표준 PC에서 몇 초 이상 소요될 수 있음) 문제가됩니다.
각 센서마다 별도의 sensor_readings 테이블을 만드는 것이 좋지만, 불필요한 경우이를 피하고 싶습니다. 이 DB 스키마를 최적화하는 다른 방법이 있습니까?