الخطوط العريضة
عموما، نحن أرقام نوع المفتاح الأساسي، ولكن هناك بعض تصميم نظام رائع حقل مفتاح أساسي من نوع VARCHAR، نظرة التالية في تأثير هذين النوعين من تنفيذ الخطة.
1، لإعداد بيانات الاختبار
منح حدد على dba_objects إلى سكوت. كون سكوت / نمر. إنشاء جدول T1 كما حدد * من dba_objects حيث 1 = 0؛ كثافة العمليات يغير الجدول T1 إضافة تعريف مفتاح أساسي. إنشاء جدول T2 كما حدد * من dba_objects حيث 1 = 0؛ يغير الجدول T2 إضافة تعريف VARCHAR2 (10) المفتاح الأساسي.- إدراج 3000000 البيانات
تضاف إلى T1 اختر 'اختبار'، 'اختبار'، 'اختبار'، ROWNUM، ROWNUM، 'اختبار'، SYSDATE، SYSDATE، 'اختبار'، 'ر'، 'ر'، 'ر'، 'ر'، ROWNUM، 'اختبار'، ROWNUM من ثنائي الاتصال عن طريق ROWNUM < = 3000000؛ تضاف إلى T2 اختر 'اختبار'، 'اختبار'، 'اختبار'، ROWNUM، ROWNUM، 'اختبار'، SYSDATE، SYSDATE، 'اختبار'، 'ر'، 'ر'، 'ر'، 'ر'، ROWNUM، 'اختبار'، ROWNUM من ثنائي الاتصال عن طريق ROWNUM < = 3000000؛ الالتزام.2، وجمع المعلومات الإحصائية
تنفيذ dbms_stats.gather_table_stats (ownname = > "سكوت"، TABNAME = > "T1"، سلسلة = > صحيح، estimate_percent = > 100)؛
تنفيذ dbms_stats.gather_table_stats (ownname = > "سكوت"، TABNAME = > "T2"، سلسلة = > صحيح، estimate_percent = > 100)؛
3، عرض خطة التنفيذ
كون / كما SYSDBA نظام ألتر shared_pool دافق. كون سكوت / نمر. مجموعة autotrace traceonly. خط مجموعة 1000؛ حدد * من t1 حيث معرف > = 2999990؛ حدد * من T2 حيث معرف > = '2999990'؛T1
لالعاديين نوع الحقل الرقمي، وهذا هو، ومؤشر الاستعلام المعدل الطبيعي مسح مجموعة، وتنفيذ كفاءة عالية.
بالنسبة للحقول نوع النص من الجدول، ومجموعة المقابلة للاستعلام كفاءة الاجتياح كامل منخفضة نسبيا.
4. الخلاصة
1، نوع الحرف هو خارج الترتيب في مؤشر وفرزها وأنواع الحرف تختلف عن توقعاتنا، والاهتمام حدد * من T2 حيث معرف > = تنفيذ '2999990' خط عودة 777788، وليس تسجيل 10، الذي يهدف إلى طاولة المذكرة.
2، ونوع الحرف أيضا يمكن أن يسبب عامل تجميع كبير، لأن مختلفة ترتيب من أجل الإدراج، في واقع الأمر، هو إدراج نوع الرقمي وفقا لل(1 ... 3000000)، وفقا لنوع الحرف ( '1' .... '3000000' ) ر ترتيب
3، عندما يكون نوع حرف باستخدام أكبر من المشغل، سوف يسبب للمحسن أن معظم الحاجة البيانات التي يتم مسحها ضوئيا ومؤشر تجميع عامل كبير، والاختيار النهائي لوضع المسح الضوئي الجدول الكامل.
ملاحظة: الحل
حدد * من T2 حيث الهوية بين "2999990" و "3000000".هنا عبارة SQL التي المسح المشترك بين منطقة ( > =) معدلة لفترة زمنية مغلقة (بين العشرين وMAX_VALUE)، بحيث البيانات في تسلسل الرقم القياسي المحلي هو "الحق". إذا كان هذا لا تأخذ الاجتياح الكامل يمكن زيادة صقلها من قبل شريحة واحدة استخراج + أو طريقة دفعة ملزمة.
ما سبق هو مظاهرة جيدة من نوع البيانات التي تسببت في خطة تنفيذ استثناء التجريبية يمكن أن ينظر إليه من تصميم هيكل البيانات مهم جدا، وإدخال المقترح للتدقيق قاعدة البيانات في التصميم في وقت مبكر، ويمكن تجنب الكثير من المشاكل.
سوف DBA يعود لتبادل المزيد من الجوانب، والأصدقاء المهتمين يمكن أن تركز القادم!