"النظام الأمثل" الحد قاعدة بيانات بيان الخلية كتابة

الخطوط العريضة

ترحيل مقارنة من خلال ROWNUM أوراكل تحقيقه، وحققت الخلية عادة الحد الاستعلام الترحيل. ثم أنكم تعلمون أن هناك مشكلة أداء لماي الحد عليه؟

استخدام الحد

* اختر من الجدول LIMIT  الصفوف | صفوف تعويض تعويض

ويمكن استخدام بند LIMIT لإجبار عوائد بيان تحديد عدد معين من السجلات. LIMIT يأخذ واحد أو اثنين معلمات رقمية. يجب أن يكون حجة على ثابت صحيح. نظرا معلمتين، وتحدد المعلمة الأولى عادت الصفوف الأولى تعويض، ويحدد الحجة الثانية عاد عدد من الصفوف كحد أقصى. إزاحة 0 غير الصفوف الأولية (بدلا من 1): للحصول على التوافق مع كيو، الخلية كما يدعم بناء الجملة: LIMIT # OFFSET #.

وضع الترحيل الاستعلام الخلية

 مسقل بيان ترحيل SQL، إذا بناء الجملة TOP وMSSQL بالمقارنة مع جملة LIMIT الخلية بحيث أنيقة للنظر كثيرا. استخدامه لترحيل هو أكثر شيء طبيعي.

أكثر طريقة الترحيل الأساسي:

 SELECT ... FROM ... أين ... ORDER BY ... LIMIT ...

 في حالة كمية صغيرة من البيانات، مثل SQL، وتكون كافية، والمشكلة الوحيدة هي التأكد من أن نلاحظ استخدام الفهرس:

على سبيل المثال، إذا كان بيان SQL الفعلي كما يلي، ثم CATEGORY_ID، والهوية بناء على اثنين المؤشر المركب هو أفضل:

* اختر من المواد WHERE على category_id = 123 ORDER BY معرف LIMIT 50، 10

2، ترقيم الصفحات الفرعية الاستعلام:

كما زادت كمية البيانات، المزيد والمزيد من الصفحات، صفحات قليلة منه قد تبدو بعد SQL الشخصي:

* اختر من المواد WHERE على category_id = 123 ORDER BY معرف LIMIT 10000، 10

هنا هي الصفحة الى الوراء، وبيان LIMIT تعويض ستكون أكبر، وسوف تكون سرعة بشكل ملحوظ أبطأ.

في هذه الحالة، يمكن تحسين الكفاءة من خلال الاستعلامات الفرعية الترحيل الطريقة، على النحو التالي:

* اختر من المواد WHERE معرف > = (معرف اختر من المواد WHERE على category_id = 123 ORDER BY معرف LIMIT 10000، 1) LIMIT 10

JOIN ترقيم الصفحات

* اختر من `content` AS T1 JOIN (SELECT معرف من `ORDER BY content` LIMIT معرف تنازلي". ($ ل-1) * $ حجم الصفحة. "(1)) AS T2 أين t1.id < = t1.id T2.id ORDER BY DESC LIMIT $ حجم الصفحة

مشكلة :

للمشاريع الصغيرة تعويض للحد مباشرة الاستعلام لا توجد مشكلة، ولكن مع كمية متزايدة من البيانات، في الصفحة التالية، سوف البيانات الحد تعويض ستكون أكبر، وسوف تكون سرعة بشكل ملحوظ أبطأ.

أفكار الأمثل :

تجنب الإفراط في كمية البيانات تسجيل المسح.

حل

ترقيم الصفحات فرعي أو JOIN طريقة الترحيل.

التسجيل الترحيل والكفاءة الترحيل الفرعية استعلام على المستوى الأساسي، واستهلاك الوقت هي في الأساس نفسه.

وهنا مثال على ذلك. الخلية هو، هذه الحالة يمكن أن يكون الأمثل عموما مفتاح أساسي من نوع عددي تنشيط الذاتي على النحو التالي.

الجدول التالي مع بيئة إنتاج حقيقية من 800،000 البيانات، على سبيل المثال، مقارنة قبل وبعد تناولهم الأمثل الاستعلام:

- الحد التقليدية، مسح الوثائق * اختر من TABLENAME ORDER BY معرف LIMIT 500000،2. الصفوف المتأثرة: 0 الوقت: 5.371s - الاستعلام الفرعية، وهي تفحص فهرس  * اختر من TABLENAME WHERE معرف > = (SELECT معرف من TABLENAME ORDER BY معرف LIMIT 500000، 1) LIMIT 2. الصفوف المتأثرة: 0 الوقت: 0.274s - انضمام ترقيم الصفحات  * اختر من TABLENAME AS T1 التسجيل (معرف اختر من TABLENAME ORDER BY معرف تنازلي LIMIT 500000، 1) AS T2 WHERE t1.id < t1.id = T2.id ORDER BY تنازلي LIMIT 2. الصفوف المتأثرة: 0 الوقت: 0.278s

يمكننا أن نرى زيادة الأداء الأمثل ما يقرب من 20 أضعاف.

المبدأ الأمثل

يتم الاستعلام الفرعي على المؤشر، في حين أن التحقيق العام المنجز على ملف البيانات، بصفة عامة، ملف الفهرس هو أصغر بكثير من ملف البيانات، وبالتالي فإن العملية ستكون أكثر كفاءة. لإزالة كافة الحقول كمحتوى، وكميات كبيرة من البيانات تحتاج لعبور اللبنة الأولى وإزالتها، في حين أن الثانية وضعه مباشرة إلى حد كبير وفقا لمجال مؤشر، فقط جلب محتوى المقابلة من خلال يعزز كثيرا من كفاءة الطبيعية.

لذلك، الحد الأمثل، لا يتم استخدام الحد الأقصى مباشرة، ولكن أولا الحصول على معرف تعويض، ومن ثم استخدامها مباشرة حجم الحد للحصول على البيانات.

في مشروع الاستخدام الفعلي، يمكنك استخدام استراتيجية مماثلة للتعامل مع وضع الترحيل الطريقة، على سبيل المثال، صفحة 100 البيانات لتحديد ما إذا كان أقل من 100 صفحة، على استخدام معظم طريقة الترحيل الأساسي، أكبر من 100، واستخدام ترقيم الصفحات الاستفسارات الفرعية.

سوف Devops وبعد تبادل جوانب DBA المزيد من المحتوى، يمكن للأصدقاء المهتمين ننظر -

واستنادا تركيب نظام centos7 ونظم الرصد قاعدة بيانات Usagi lepus النشر - الجزء 3

ليو تشيانغ الشرق رفيعة المستوى العودة! يبدو أماكن غير متوقعة لذلك

أول "ورقة كأس الصين، وشين الشتاء" موضة مسابقة التصميم الذي عقد في شينجى

Centos7 نشر مقرها أيام تركيب نظام قاعدة بيانات أرنب lepus نظام مراقبة - الجزء الأول

76، الفقرة القلق قاعدة بيانات NoSQL وNewSQL

لتجاوز داليان وتشينغداو، وأخشى الطريق الوحيد

والد فب: أنا لا أحب البرمجة، ولكن أود أن حل المشاكل

جدول واحد الخلية البيانات لا أكثر من 5 ملايين خط: هي قيمة الخبرة والذهب أو قاعدة من الحديد؟

تذاكر الفوز، لماذا أقول إن عاجلا أو آجلا الدخن إكسبريس؟

Jstat لينكس نظام القيادة Daquan و- GC عرض JVM الوضع

المعلمات الخلية - لتحديد بسرعة مزود قاعدة بيانات محددة (الوقت الحقيقي)

جماعة أمريكية مدرجة في عشية مغادرة، وذلك بسبب المشاعر أو العواطف: ايبين جيانغ؟