मैं एक SQL Server 2008 पूर्ण-पाठ क्वेरी के प्रदर्शन को समझने की कोशिश कर रहा हूं जिसे मैं बना रहा हूं।SQL सर्वर पूर्ण पाठ क्वेरी एकाधिक तालिकाओं में - इतनी धीमी क्यों?
निम्न क्वेरी, एक पूर्ण पाठ इंडेक्स का उपयोग करके सही परिणाम देता है तुरंत:
SELECT
O.ID, O.Name
FROM
dbo.EventOccurrence O
WHERE
FREETEXT(O.Name, 'query')
यानी, शब्द 'जिज्ञासा' उनके नाम के साथ सभी EventOccurrences। और निम्न क्वेरी, एक अलग तालिका से पूर्ण-पाठ अनुक्रमणिका का उपयोग करके, सीधे लौटती है:
SELECT
V.ID, V.Name
FROM
dbo.Venue V
WHERE
FREETEXT(V.Name, 'query')
यानी। उनके नाम पर 'क्वेरी' शब्द वाले सभी स्थान। लेकिन अगर मैं टेबल में शामिल होने और एक बार में दोनों पूर्ण-पाठ प्रश्नों करने की कोशिश है, यह 12 सेकंड के वापस जाने के लिए: http://uploadpad.com/files/query.PNG
अद्यतन: पाठ में में योजना
SELECT
O.ID, O.Name
FROM
dbo.EventOccurrence O
INNER JOIN dbo.Event E ON O.EventID = E.ID
INNER JOIN dbo.Venue V ON E.VenueID = V.ID
WHERE
FREETEXT(E.Name, 'search')
OR FREETEXT(V.Name, 'search')
यहाँ कार्य योजना लागू है प्रपत्र:
|--Nested Loops(Left Semi Join, OUTER REFERENCES:([E].[ID], [V].[ID]))
|--Hash Match(Inner Join, HASH:([E].[ID])=([O].[EventID]))
| |--Hash Match(Inner Join, HASH:([V].[ID])=([E].[VenueID]))
| | |--Clustered Index Scan(OBJECT:([iScene].[dbo].[Venue].[PK_Venue] AS [V]))
| | |--Clustered Index Scan(OBJECT:([iScene].[dbo].[Event].[PK_Event] AS [E]))
| |--Clustered Index Scan(OBJECT:([iScene].[dbo].[EventOccurrence].[PK_EventOccurrence] AS [O]))
|--Concatenation
|--Table-valued function
|--Table-valued function
मेरे पढ़ने से, मुझे लगता है कि नहीं था तो यह और भी इस तरह से कई तालिकाओं के पार एक मुक्त पाठ क्वेरी बनाने के लिए संभव हो गया था, इसलिए मुझे यकीन है कि मैं इस को सही ढंग से समझ रहा हूँ नहीं हूँ।
ध्यान दें कि अगर मैं इस अंतिम क्वेरी से WHERE क्लॉज को हटा देता हूं तो यह सभी परिणामों को एक सेकंड के भीतर वापस कर देता है, इसलिए यह निश्चित रूप से पूर्ण पाठ है जो इस मुद्दे को यहां उत्पन्न कर रहा है।
क्या कोई समझा सकता है (i) यह इतना धीमा क्यों है और (ii) अगर यह भी समर्थित है/अगर मैं इसे सही ढंग से समझ रहा हूं।
आपकी मदद के लिए अग्रिम धन्यवाद।
क्या आप वास्तविक योजना पोस्ट कर सकते हैं। तस्वीर नहीं है? –
ठीक है अभी इसे आपके लिए जोड़ा गया है। –