इनसाइड द स्टोरेज इंजन:एनाटॉमी ऑफ ए रिकॉर्ड
यह SQL सर्वर 2005 . के लिए है
- रिकॉर्ड हेडर
- 4 बाइट लंबा
- रिकॉर्ड मेटाडेटा के दो बाइट्स (रिकॉर्ड प्रकार)
- दो बाइट्स रिकॉर्ड में NULL बिटमैप की ओर इशारा करते हुए
- रिकॉर्ड का निश्चित लंबाई वाला हिस्सा, जिसमें निश्चित लंबाई वाले डेटा प्रकारों को संग्रहीत करने वाले कॉलम होते हैं (उदा. बिगिंट, चार(10), डेटाटाइम)
- नल बिटमैप
- रिकॉर्ड में स्तंभों की संख्या के लिए दो बाइट्स
- रिकॉर्ड में प्रति कॉलम एक बिट स्टोर करने के लिए बाइट्स की परिवर्तनीय संख्या, इस पर ध्यान दिए बिना कि कॉलम शून्य है या नहीं (यह SQL सर्वर 2000 से अलग और सरल है जिसमें केवल एक बिट प्रति नलबल कॉलम था)
- यह NULL वाले कॉलम को पढ़ते समय ऑप्टिमाइज़ेशन की अनुमति देता है
- चर-लंबाई कॉलम ऑफ़सेट सरणी
- चर-लंबाई वाले स्तंभों की संख्या के लिए दो बाइट्स
- दो बाइट्स प्रति चर लंबाई कॉलम, कॉलम वैल्यूवर्जनिंग टैग के अंत में ऑफसेट देते हुए
- यह केवल SQL सर्वर 2005 में है और एक 14-बाइट संरचना है जिसमें एक टाइमस्टैम्प प्लस एक पॉइंटर है जो संस्करण स्टोर में tempdb में है
तो, एक char(8000)
. के लिए- 4 बाइट्स (रिकॉर्ड हेडर)
- 8000 निश्चित लंबाई
- 3 शून्य बिटमैप
- चर-लंबाई गिनने के लिए 2 बाइट्स
- 14 टाइमस्टैम्प
हालांकि, अगर आपके पास 40 वर्कर (200) कॉलम थे
- 4 बाइट्स (रिकॉर्ड हेडर)
- 0 निश्चित लंबाई
- 6 शून्य बिटमैप
- चर-लंबाई गिनने के लिए 2 बाइट्स
- 202 x 40 =8080
- 14 टाइमस्टैम्प
कुल =8080 + 4 + 6 + 2 + 14 =8106। डब्ल्यूटीएफ? जब आप यह तालिका बनाते हैं तो आपको एक चेतावनी मिलती है
मैं इसके बारे में ज्यादा नहीं सोचता:इस जानकारी में नहीं . है व्यावहारिक दैनिक मूल्य