ما هي مكاسب الأداء التي يمكنني توقعها من ترحيل قاعدة البيانات؟
-
26-09-2019 - |
سؤال
قل أن لديّ جدول X مع 100 سجل فيه وتلك التشغيل select * from X
يستغرق 100 ثانية.
كم من الوقت يجب أن أتوقع الاستعلام select top 10 * from X
يأخذ؟
أتوقع أن تكون العلاقة خطية إلى حد ما حتى 10 ثوانٍ. هل هذا صحيح أم أن العلاقة غير خطية بطريقة ما؟
المحلول
تكلفة أدائك في مجالين مختلفين:
- كم من الوقت يستغرق إجراء الاستعلام
- كم من الوقت يستغرق إعادة النتائج
في كثير من الأحيان ، سيكون الاستعلام سريعًا ، لكن النتائج العائدة ستكون بطيئة ، نظرًا لأنه مرتبط بالإدخال/الإخراج. إذا كان هذا هو الحال ، فسترى تسريعًا خطيرًا تقريبًا عن طريق إرجاع نتائج أقل.
ومع ذلك ، إذا كان الاستعلام نفسه معقدًا ، فإن الأمور مختلفة. إذا لم يكن الأمر فقط select * from X
, ، لكن select * from X where [complicated-expression]
, ، قد تختلف النتائج على نطاق واسع بين تطبيقات قاعدة البيانات. في هذه الحالة ، قد يهيمن على أدائك تعقيد الاستعلام ، وفي هذه الحالة لن ترى الكثير من الاستفادة من خلال إعادة نتائج أقل.