Quassnoi नेस्टेड सेट मॉडल और आसन्न सूची मॉडल पर कुछ प्रदर्शन परीक्षण चलाए हैं और अपने ब्लॉग पोस्ट आसन्नता सूची बनाम नेस्टेड सेट:MySQL . कार्यकारी सारांश है:
- नेस्टेड सेट सभी चाइल्ड नोड्स या सभी पैरेंट नोड्स लाने के लिए तेज़ है।
- यदि आपको बार-बार तालिका को अपडेट करने की आवश्यकता होती है, तो नेस्टेड सेट एक बुरा विचार है।
यहाँ उनके लेख का निष्कर्ष है:
शेष लेख दिखाता है कि तालिका को कैसे परिभाषित किया जाए, प्रश्नों को लागू किया जाए और प्रदर्शन माप दिया जाए। नेस्टेड सेट मॉडल के प्रदर्शन को बेहतर बनाने के लिए स्थानिक सूचकांक का उपयोग एक चतुर विचार है जो आपके लिए नया हो सकता है।
यदि आप MySQL के बिना भी दृष्टिकोण पर विचार कर रहे हैं तो आप PostgreSQL देखना चाहेंगे। जो एक और फ्री और ओपन सोर्स डेटाबेस है। PostgreSQL पुनरावर्ती सामान्य तालिका अभिव्यक्तियों जो MySQL की तुलना में पदानुक्रमित डेटा को आसान बनाते हैं और बेहतर प्रदर्शन भी देते हैं। क्वास्नोई ने Adjacency list vs. नेस्टेड सेट:PostgreSQL जो विवरण दिखाता है।
जबकि हम अन्य दृष्टिकोणों को देखने के बारे में बात कर रहे हैं, ओरेकल का डेटाबेस भी उल्लेखनीय है। Oracle का एक कस्टम एक्सटेंशन CONNECT BY
. भी है जो पदानुक्रमित डेटा को क्वेरी करना बहुत आसान और तेज़ बनाते हैं। क्वास्नोई का लेख आसन्न सूची बनाम नेस्टेड सेट:Oracle
फिर से प्रदर्शन विवरण शामिल करता है। इस मामले में सभी बच्चों को प्राप्त करने के लिए आपको जो प्रश्न चाहिए वह अत्यंत सरल है:
SELECT *
FROM yourtable
START WITH id = 42
CONNECT BY parent = PRIOR id