में डेटाटाइम मानों को स्टोर करने का सबसे अच्छा तरीका मैं SQLite डेटाबेस (डेल्फी और डिस्क्लाइट लाइब्रेरी का उपयोग करके) में डेटाटाइम मान संग्रहीत करूँगा। डीबी की प्रकृति ऐसी है कि इसे कभी भी कंप्यूटर या सिस्टम के बीच स्थानांतरित करने की आवश्यकता नहीं होगी, इसलिए अंतःक्रियाशीलता एक बाधा नहीं है। इसके बजाय मेरा ध्यान गति पढ़ने पर है। डेटाटाइम फ़ील्ड को अनुक्रमित किया जाएगा और मैं इसे बहुत अधिक खोजूंगा, साथ ही अनुक्रम में हजारों डेटाटाइम मानों में पढ़ रहा हूं।SQLite डेटाबेस (डेल्फी)
उपयोग वास्तविक डेटा प्रकार और दुकान डेल्फी के TDateTime मूल्यों सीधे:
के बाद से SQLite datetime मानों के लिए एक स्पष्ट डेटा प्रकार नहीं है, वहाँ कई विकल्प हैं सबसे तेज, लोड हो रहा है पर स्ट्रिंग से कोई रूपांतरण; SQLiteSpy जैसे डीबी मैनेजर का उपयोग करके तिथियों को डीबग करना असंभव है, क्योंकि तिथियां मानव-पठनीय नहीं होंगी। SQLite दिनांक फ़ंक्शंस का उपयोग नहीं कर सकते (?)
एक साधारण स्ट्रिंग प्रारूप का उपयोग करें, उदा। YYYYMMDDHHNNSS: रूपांतरण आवश्यक है लेकिन सीपीयू पर अपेक्षाकृत आसान है (विभाजक के लिए स्कैन करने की कोई आवश्यकता नहीं है), डेटा मानव-पठनीय है। अभी भी SQLite दिनांक फ़ंक्शंस का उपयोग नहीं कर सकते हैं।
कुछ और करें। क्या करने की सिफारिश की बात है?
मैं http://www.sqlite.org/lang_datefunc.html पढ़ा है लेकिन क्या डेटा प्रकार का उपयोग करने के का कोई उल्लेख नहीं है, और, नहीं औपचारिक रूप से प्रोग्रामिंग में स्कूली जा रहा है, मैं काफी फोकस grok नहीं है पर जूलियन तिथियाँ। अतिरिक्त रूपांतरण क्यों? मैं इन मानों में बहुत कुछ पढ़ रहा हूं, इसलिए स्ट्रिंग्स और टीडीएटीटाइम के बीच कोई भी अतिरिक्त रूपांतरण एक महत्वपूर्ण लागत जोड़ता है।
मैंने http://stackoverflow.com/questions/1933720/how-do-i-insert-datetime-value-into-a-sqlite-डेटाबेस भी देखा है, लेकिन यह मेरे प्रश्न का उत्तर नहीं देता है कि क्या इष्टतम तरीका है, या डेल्फी के TDateTime मानों को सीधे डालने पर आईएसओ स्ट्रिंग प्रारूप (और संबंधित रूपांतरण) को प्राथमिकता देने के लिए वास्तव में एक अनिवार्य कारण है। –