मुझे नहीं लगता कि मैं इसे पहले से मौजूद मैनुअल से बेहतर समझा सकता हूं:
<ब्लॉकक्वॉट>किस प्रकार के इंडेक्स का उपयोग करना है, जीआईएसटी या जीआईएन, इन प्रदर्शन अंतरों पर विचार करें:
-
GIN इंडेक्स लुकअप, GiST से लगभग तीन गुना तेज है
-
GIN अनुक्रमणिका, GiST की तुलना में बनने में लगभग तीन गुना अधिक समय लेती है
-
GIN इंडेक्स, GiST इंडेक्स की तुलना में अपडेट करने के लिए मामूली रूप से धीमे हैं, लेकिन अगर फास्ट-अपडेट समर्थन अक्षम किया गया था तो लगभग 10 गुना धीमा [...]
-
GIN इंडेक्स, GiST इंडेक्स से दो से तीन गुना बड़े होते हैं
लिंक और उद्धरण पोस्टग्रेज 9.4 के लिए मैनुअल देखें। आकार और प्रदर्शन अनुमान पहले से थोड़े पुराने लग रहे थे। Postgres 9.4 के साथ ऑड्स काफी हद तक GIN के पक्ष में shifted स्थानांतरित हो गए हैं .
पोस्टग्रेज़ 9.4 के रिलीज़ नोट में शामिल हैं:
GIN इंडेक्स का आकार कम करें (सिकंदर कोरोटकोव, हिक्की लिन्नाकांगस) [...]
बहु-कुंजी GIN लुकअप की गति में सुधार करें (सिकंदर कोरोटकोव, हिक्की लिन्नाकांगस)
आकार और प्रदर्शन अनुमानों को तब से मैनुअल से हटा दिया गया है।
ध्यान दें कि ऐसे विशेष उपयोग के मामले हैं जिनमें एक या दूसरे की आवश्यकता होती है।
एक बात जो आपने गलत समझी:आप कभी नहीं जीआईएसटी इंडेक्स के साथ गलत परिणाम प्राप्त करें। इंडेक्स हैश मानों पर काम करता है, जो कर सकते हैं सूचकांक में झूठी सकारात्मक के लिए नेतृत्व। यह केवल आपके दस्तावेज़ों में बहुत बड़ी संख्या में विभिन्न शब्दों के साथ प्रासंगिक होना चाहिए। किसी भी स्थिति में वास्तविक पंक्ति को फिर से जाँचने के बाद झूठी सकारात्मकता को समाप्त कर दिया जाता है। मैनुअल:
<ब्लॉकक्वॉट>एक जीआईएसटी सूचकांक हानिपूर्ण है, जिसका अर्थ है कि सूचकांक झूठे मिलान उत्पन्न कर सकता है, और ऐसे झूठे मैचों को खत्म करने के लिए वास्तविक तालिका पंक्ति की जांच करना आवश्यक है। (PostgreSQL आवश्यकता पड़ने पर इसे स्वचालित रूप से करता है। )
बोल्ड जोर मेरा।