SQL COUNT الأداء سؤال
-
20-09-2019 - |
سؤال
وهيكل الجدول مثال:
Id, Integer (PK)
Name, Varchar(100)
Description, Text
ولست بحاجة لمعرفة ما إذا كان يوجد فرق في الأداء بين:
SELECT COUNT(*) FROM Example;
و
SELECT COUNT(Id) FROM Example;
وأو لا وجود الاختلافات؟
المحلول
والاختلافات موجودة في كل من الأداء وresultset والفعلي
نصائح أخرى
وتحقق من شرح الخطة: لا نتيجة تأتي من الجدول أو من بيانات التعريف (مثل INFORMATION_SCHEMA) ؟: الاختلافات هي من المرجح أن يكون الحد الأدنى للغاية
وأود أن أعتقد أن هناك فرقا. اعتمادا على حجم الجدول الخاص بك، يمكن أن يكون لا يذكر، أو أنها يمكن أن تكون كبيرة.
وهذا هو على الارجح أبطأ: COUNT SELECT (*) FROM مثال
هذا هو في المتوسط: SELECT COUNT (رقم) FROM مثال
وهذا سيكون أسرع: COUNT SELECT (1) FROM مثال
وتستحق القراءة، ولكن للأسف في الروسية.
COUNT (*)، يمكن أن يكون أسرع ؟
والقصة القصيرة هي أن COUNT(*)
وغير فعالة حتى الوصول المباشر إلى dm_db_partition_stats
.