سؤال

لدي حزم طاولة واحدة
تحتوي الحزم على معرف 2 الحقول والإجمالي
كلاهما طول bigint طول 20 والمفاتيح الأولية
المعرف الوحيد هو زيادة تلقائية
في كل سجل إجمالي = ID
حصلت على 10000 سجل دعونا نقول المعرف = 1 - 10000 والإجمالي = 1 - 10000

حصلت على 2 استفسارات متطابقة تقريبا 1 نتائج وقت تحميل طويل جدا ويكمل المرء على الفور تقريبا.

وقت تحميل طويل جدا:

set @ = 0؛ 
تحديد *
من الحزم مثل P1
حيث p1.total في (حدد p2.total
من الحزم مثل P2 حيث ((@ @ @ = @ i + 1))

وقت التحميل قصير جدا:

set @ = 0؛
تحديد *
من الحزم مثل P1
حيث p1.id في (حدد p2.id
من الحزم مثل P2 حيث ((@ @ @ = @ i + 1))

يحدث هذا أثناء قيم المعرف والإجمالي متطابقة.

هل كانت مفيدة؟

المحلول

كلاهما طول bigint طول 20 والمفاتيح الأولية

لا يمكنك الحصول على مفتاحين أساسيين في جدول واحد.

يبدو أنه ليس لديك فهرس packets.total

قم بإنشائه ومعرفة ما إذا كان يساعد:

CREATE INDEX ix_packets_total ON packets (total)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top