2011-09-28 7 views
6

मैं otimization की तलाश में हूँ।जब मैं इकाई फ्रेमवर्क में गिनती विधि को कॉल करता हूं, तो क्या यह सभी कॉलम को संसाधित करता है या सिर्फ एक या क्या?

जब मैं इकाई फ्रेमवर्क में गिनती विधि को कॉल करता हूं, तो क्या यह सभी कॉलम या केवल एक या क्या प्रक्रिया करता है?

यदि आपके पास इस बारे में बात करने वाली कोई आधिकारिक साइट भी है, तो मैं सराहना करता हूं।

धन्यवाद।

उत्तर

7

मैंने कुछ समय पहले कुछ परीक्षण किए और पाया कि ईएफ सर्वर पर गिनती करता है, यह एक SELECT COUNT के साथ एक क्वेरी भेजता है, इसलिए यह सुनिश्चित करने के लिए सभी रिकॉर्ड लोड नहीं करता है।

कॉलम के बारे

, यदि आप मैंने कहीं कुछ समय पहले पढ़ा है COUNT(*) या COUNT(Id) या COUNT(1) के बीच अंतर की बात कर रहे है कि SQL सर्वर के लिए वहाँ कोई अंतर नहीं, COUNT(*) वैसे भी COUNT(1) के रूप में अनुकूलित है है।

आप कई लेख ऑनलाइन पढ़ने के लिए या इतने पर यहां सवाल ... excatly नहीं 100% आप क्या पूछा जा सकता था लेकिन एफई और ORM के प्रदर्शन पर समान विषयों ...

How to COUNT rows within EntityFramework without loading contents?

http://ayende.com/blog/4387/what-happens-behind-the-scenes-nhibernate-linq-to-sql-entity-framework-scenario-analysis

How to optimize Entity Framework Queries

+2

आपने मुझे इसे हराया। मैं सामान्य रूप से गिनती के प्रदर्शन के बारे में एक पोस्ट को जोड़ने जा रहा था http://geekswithblogs.net/BlackRabbitCoder/archive/2011/06/02/c.net-little-wonders-empty-defaultifempty-and- count.aspx –

+0

अच्छा! लेकिन आपने इसका परीक्षण कैसे किया? – Seva

+0

एसक्यूएल प्रोफाइलर सक्षम, फिर .NET और EF में एक नमूना प्रोग्राम बनाएं और डेटाबेस में सभी कॉल कैप्चर करें। आप एमएस एसक्यूएल सर्वर का उपयोग कर रहे हैं? –

संबंधित मुद्दे

 संबंधित मुद्दे