Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

एंटिटी फ्रेमवर्क कोर काउंट का इष्टतम प्रदर्शन नहीं है

यहां जवाब देने के लिए बहुत कुछ नहीं है। यदि आपका ORM उपकरण एक साधारण LINQ क्वेरी से अपेक्षित SQL क्वेरी उत्पन्न नहीं करता है, तो ऐसा कोई तरीका नहीं है जिससे आप क्वेरी को फिर से लिखकर ऐसा करने दे सकते हैं (और आपको इसे पहले स्थान पर नहीं करना चाहिए)।

EF Core में LINQ क्वेरी में मिश्रित क्लाइंट/डेटाबेस मूल्यांकन की अवधारणा है जो उन्हें आपके मामले की तरह अपूर्ण/अत्यंत अक्षम क्वेरी प्रोसेसिंग के साथ EF कोर संस्करण जारी करने की अनुमति देता है।

फीचर्स जो EF Core में नहीं हैं से अंश (शब्द पर ध्यान दें नहीं ) और रोडमैप :

शीघ्र ही, वे क्वेरी प्रोसेसिंग में सुधार करने की योजना बना रहे हैं, लेकिन हम नहीं जानते कि यह कब होगा और किस स्तर की डिग्री (याद रखें कि मिश्रित मोड उन्हें क्वेरी "काम करने" पर विचार करने की अनुमति देता है)।

तो क्या विकल्प हैं?

  • सबसे पहले, EF Core से तब तक दूर रहें जब तक यह वास्तव में उपयोगी न हो जाए। EF6 पर वापस जाएं, इसमें ऐसी कोई समस्या नहीं है।
  • यदि आप EF6 का उपयोग नहीं कर सकते हैं, तो नवीनतम EF कोर संस्करण से अपडेट रहें।

उदाहरण के लिए, v1.0.1 और v1.1.0 दोनों में आप क्वेरी इच्छित SQL (परीक्षण) उत्पन्न करते हैं, ताकि आप बस अपग्रेड कर सकें और ठोस समस्या दूर हो जाएगी।

लेकिन ध्यान दें कि सुधारों के साथ-साथ नई रिलीज़ में बग/रिग्रेशन भी शामिल हैं (जैसा कि आप यहां देख सकते हैं EFCore एक साधारण LEFT OUTER जॉइन के लिए बहुत सारे कॉलम लौटाता है उदाहरण के लिए), तो इसे अपने जोखिम पर करें (और पहले विकल्प पर फिर से विचार करें, अर्थात कौन सा आपके लिए सही है :)

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में अपने सत्र की ANSI_NULLS सेटिंग की जांच कैसे करें

  2. SQL सर्वर कर्सर प्रकार - SQL सर्वर में स्टेटिक कर्सर क्या हैं | SQL सर्वर ट्यूटोरियल / TSQL ट्यूटोरियल

  3. पता लगाएँ कि क्या कोई विभाजन SQL सर्वर (T-SQL) में संपीड़ित है

  4. SQL सर्वर में बल्क इंसर्ट का उपयोग करके UTF-8 वर्ण कैसे लिखें?

  5. गतिशील एसक्यूएल बनाम संग्रहित प्रक्रिया