2011-11-17 16 views
5

क्या डेटाबेस में वर्ष और महीने स्टोर करने का कोई मानक तरीका है? मुझे महीनों और वर्षों के आधार पर कुछ रिपोर्ट करने की ज़रूरत है।डेटाबेस में वर्ष महीने कैसे स्टोर करें?

मैं वास्तविक समय में महीनों को निकालने के लिए तिथियों और कार्यों का उपयोग नहीं कर सकता क्योंकि टेबल बहुत बड़ी हैं, इसलिए मुझे प्रीप्रोकैसिंग की आवश्यकता है।

+0

अगर आपको आपकी मदद मिली है तो आपको जवाबों में से एक स्वीकार करना चाहिए – aydow

उत्तर

3

शायद सबसे समझदार date_trunc() महीने में उपयोग करना है। यदि आप चाहें तो मूल्य के बराबर होने के कारण आप date_trunc() के लिए चेक बाधा भी जोड़ सकते हैं।

7

मैं @Michael के प्रस्तावों के साथ जाऊंगा।

दिनांक से महीना और वर्ष निकालना EXTRACT या to_char() के साथ सुपर फास्ट है, संभवतः प्रीप्रोसेसिंग की कोई आवश्यकता नहीं है।

और डिस्क पर date only occupies 4 byte, इससे बेहतर नहीं मिलता है।

वैकल्पिक दिनांकों के विरुद्ध सुरक्षा के लिए कॉलम बाधाओं के साथ दो integer कॉलम विकल्प हैं। 2x 4 बाइट्स पर कब्जा करता है।

या यहां तक ​​कि smallint रैम और डिस्क संग्रहण को बचाने के लिए। ऑन-डिस्क स्टोरेज में डेटा संरेखण के बारे में पढ़ें और समझें। कई मामलों में आप smallint कॉलम के साथ कुछ भी नहीं बचाते हैं। मैंने यहां और अधिक लिखा है: Calculating and saving space in PostgreSQL

दिनांक कॉलम के साथ जाने के लिए सबसे अच्छा।

संबंधित मुद्दे