मैं सेंसर रीडिंग को पकड़ने के लिए एक सरल SQLite डेटाबेस सेट अप कर रहा हूं। टेबल कुछ इस तरह दिखेगा:प्रश्नों के समक्ष आने से पहले 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 के बारे में परिणाम है।
तो सवाल यह है कि उपरोक्त क्वेरी से पहले सेंसर_readings तालिका कितनी बड़ी हो सकती है (मानक पीसी पर कुछ सेकंड से अधिक)।
मुझे पता है कि एक फिक्स प्रत्येक सेंसर के लिए एक अलग सेंसर_readings तालिका बनाने के लिए हो सकता है, लेकिन अगर यह अनावश्यक है तो मैं इससे बचना चाहूंगा। क्या इस डीबी स्कीमा को अनुकूलित करने के कोई अन्य तरीके हैं?