ArcGIS 10.2 SQL सर्वर प्रदर्शन पर क्वेरी लेयर


10

मैं ArcMap में SQL सर्वर पर एक क्वेरी लेयर का उपयोग कर रहा हूं। क्वेरी लेयर SQL सर्वर में तुरंत निष्पादित होती है, लेकिन ArcMap में खींचने में इतना लंबा समय लेती है कि सिस्टम लगभग 10 मिनट या अधिक समय तक अनुत्तरदायी प्रतीत होता है। आर्कपाइप के दौरान सीपीयू में से एक को SQL सर्वर प्रक्रिया पर अधिकतम किया जाता है।

मेरा प्रश्न एक बहुभुज सुविधा वर्ग (टाउनलैंड) के खिलाफ एक लाइन सुविधा (शैनन) पर एक बफर के STIntersects है, इस प्रकार;

SELECT TOWNLANDS.TL_ID,TOWNLANDS.Shape FROM dbo.TOWNLANDS as townlands
with(index(FDO_Shape)) 
JOIN dbo.Shannon on townlands.Shape.STIntersects 
(Shannon.Shape.STBuffer(2.0))=1

क्वेरी 186 पंक्तियों को तुरंत लौटा देती है। बिना किसी समस्या के SQL सर्वर प्रबंधन स्टूडियो स्थानिक फलक में आरेखित किया जा सकता है

जब मैं ArcMap में एक समान परत के साथ एक समान वाक्यविन्यास का निर्माण करता हूं तो सिस्टम अनुत्तरदायी हो जाता है लेकिन अंततः ड्रा हो जाता है। ऐसा लगता है कि, शायद, आर्केस्टा ने स्थानिक सूचकांक का उपयोग नहीं किया है या एसक्यूएल सर्वर से ऐसा अलग है जो एसक्यूएल सर्वर पर एक अयोग्य क्वेरी का कारण बनता है जो लौटने के लिए एक उम्र लेता है।

क्या कोई उपाय करने की सलाह दे सकता है?

धन्यवाद

ArcGIS Desktop: 10.2
ArcSDE: 10.2
RDBMS: Database and version: SQL Server 2008
OS: Windows Server 

जवाबों:


3

जैसा कि आपने कहा, आपकी क्वेरी डेटाबेस स्तर पर तेज़ी से निष्पादित होती है। यहां तक ​​कि अगर आप SQL को अधिक कुशल बनाने में सक्षम थे, तो वास्तविक प्रदर्शन स्थानिक स्तर पर है।

स्थानिक एसक्यूएल स्टेटमेंट, जैसे आप उपयोग कर रहे हैं, केवल ज्यामिति प्रकार की शुरूआत के साथ ही अनुमति दी गई थी। ArcSDE के लिए SQL Server 2008 तीन ज्यामिति डेटा प्रकार, SDEBINARY, GEOMETRY और GEOGRAPHY का समर्थन करता है। अंतर यहाँ सूचीबद्ध हैं

सर्वश्रेष्ठ प्रदर्शन के लिए सुनिश्चित करें कि आप अपने डेटा की प्रकृति के आधार पर ज्यामिति या भूगोल (SDEBINARY नहीं है क्योंकि यह अप्रचलित और अनुशंसित नहीं है) का उपयोग कर रहे हैं चाहे आप पृथ्वी स्थानिक संदर्भ का उपयोग कर रहे हों या नहीं। इसके अलावा TOWNLANDS फीचरक्लास पर स्थानिक सूचकांक का पुनर्निर्माण सुनिश्चित करें। आप आर्कक्लास्टिक से फीचरक्लास, प्रॉपर्टीज़ पर राइट क्लिक करके और इंडेक्स टैब चुन सकते हैं।

उम्मीद है की वो मदद करदे।


1

मुझे आपकी क्वेरी में शामिल होने की आवश्यकता नहीं दिख रही है। WHERE का उपयोग करने के बजाय प्रयास करें।

SELECT TOWNLANDS.TL_ID,TOWNLANDS.Shape 
FROM dbo.TOWNLANDS as townlands
with(index(FDO_Shape)) 
WHERE townlands.Shape.STIntersects 
(Shannon.Shape.STBuffer(2.0))=1

मूल क्वेरी में शामिल होने के परिणाम में कोई फायदा नहीं हुआ; मुझे शैनन टेबल से चुनिंदा पंक्ति में कोई कॉलम नहीं दिखाई दिया। इसलिए, यह अतिरिक्त काम की तरह लगता है।


GIS SE में आपका स्वागत है! इस आंसर की मदद के लिए आपका उत्तर बहुत संक्षिप्त है और बाद में पाठकों क्या आप सुझाव दे रहे हैं कि क्या आप सुझाव दे रहे हैं, उस पर विस्तार करने के लिए संपादन बटन का उपयोग कर पाएंगे?
PolyGeo

1

यह SQL सर्वर के साथ आर्कजीआईएस का उपयोग करने की एक ज्ञात सीमा है, जहां तक ​​मुझे पता नहीं है कि एक साधारण फिक्स नहीं है।

यदि SQL सर्वर क्वेरी प्लानर यह तय करता है कि क्वेरी को निष्पादित करने के लिए एक से अधिक CPU की आवश्यकता है, तो उपयोग किए जा रहे स्थानिक सूचकांक की संभावना कम है।

Microsoft इस मुद्दे से अवगत हैं, लेकिन क्वेरी प्लानर को बेहतर बनाने की जल्दी में नहीं हैं क्योंकि यह सभी प्रश्नों को प्रभावित करेगा, न कि केवल स्थानिक लोगों को।

एकमात्र विश्वसनीय समाधान यह है कि आप अपने डेटाबेस पर अधिकतम समानता (MAXDOP) को 1 पर सेट करें, लेकिन इसका मतलब यह है कि उस DB पर सभी क्वेरीज़ केवल 1 CPU प्रति क्वेरी का उपयोग करेगी, सब कुछ धीमा कर देगी।

एक दृश्य बनाना जो तालिका का प्रतिनिधित्व करता है और स्थानिक सूचकांक संकेत को काम नहीं करता है क्योंकि आर्कगिस को तालिका के मेटाडेटा और आँकड़ों को क्वेरी करने की आवश्यकता होती है और ऐसा दृश्य उन प्रश्नों को मारता है।


0

मुझे एक ऐसी ही समस्या है। मेरे पास SQL ​​Server में ज्यामिति प्रकार के रूप में संग्रहीत एक फीचर क्लास है। इसमें 30 मीटर के रिकॉर्ड हैं और इसका ड्रा ठीक है, लेकिन यदि आप 2 तालिका से जुड़ा एक दृश्य बनाते हैं, तो यह दृश्य लटका रहता है और प्रदर्शित नहीं होगा।

तालिका में संबंध कक्षाओं का भार है। क्या ये क्वेरी / ड्राइंग प्रदर्शन को प्रभावित करेंगे?

साथ ही आप मुझे Microsoft की इस समस्या के स्वीकार करने की दिशा में इंगित कर सकते हैं। क्या मैं स्थानिक सूचकांक का उपयोग करने के लिए क्वेरी प्लानर को बाध्य कर सकता हूं?

बिल


कृपया एक नया प्रश्न पूछें।
मपरेज़
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.