अपडेट करें:
में MySQL
, ऐसा करने का एक कारण हो सकता है।
चूंकि चर डेटाटिप्स (जैसे VARCHAR
) को चर लंबाई के साथ संग्रहित किया जाता है InnoDB
, डेटाबेस इंजन को दिए गए ऑफसेट के बारे में पता लगाने के लिए प्रत्येक पंक्ति में सभी पिछले कॉलमों को पीछे करना चाहिए।
स्तंभों के लिए प्रभाव 17% तक बड़ा हो सकता है 20
।
अधिक विस्तार के लिए मेरे ब्लॉग में यह प्रविष्टि देखें:
में Oracle
, पीछे वाले NULL
कॉलम कोई जगह उपभोग करते हैं, है यही कारण है कि आप उन्हें हमेशा तालिका के अंत करने के लिए रखा जाना चाहिए।
बड़ी पंक्ति के मामले Oracle
में भी ( और SQL Server
, में) ROW CHAINING
हो सकता है।
ROW CHANING
एक पंक्ति को विभाजित करना है जो एक ब्लॉक में फिट नहीं है और इसे एक से अधिक ब्लॉकों में फैली हुई है, एक लिंक की गई सूची के साथ जुड़ा हुआ है।
पहले ब्लॉक में फिट नहीं होने वाले अनुगामी कॉलम को लिंक की गई सूची को ट्रेस करने की आवश्यकता होगी, जिसके परिणामस्वरूप एक अतिरिक्त I/O
ऑपरेशन होगा।
देखें इस पेज की व्याख्या के लिए ROW CHAINING
में Oracle
:
इसलिए आपको उन स्तंभों को रखना चाहिए जिनका उपयोग आप अक्सर तालिका की शुरुआत में करते हैं, और जिन स्तंभों का आप अक्सर उपयोग नहीं करते हैं, या स्तंभ जो NULL
तालिका के अंत तक होते हैं।
महत्वपूर्ण लेख:
यदि आप इस उत्तर को पसंद करते हैं और इसके लिए मतदान करना चाहते हैं, तो कृपया @Andomar
उत्तर के लिए भी मतदान करें ।
उसने एक ही बात का जवाब दिया, लेकिन बिना किसी कारण के उसे नीचा दिखाया गया।