• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

نوشتن query های بهینه جهت افزایش سرعت دیتابیس mysq

rezanew

Registered User
تاریخ عضویت
14 سپتامبر 2004
نوشته‌ها
1,037
لایک‌ها
38
سن
39
محل سکونت
کلاً آواره ایم
سلام،

من حدود 6 7 تا جدول در دیتابیس mySql ام دارم، و اینا به طریقی با هم در ارتباط هستن! حالا می خوام حدود 10 تا query بنویسم که یک سری اطلاعات رو به طرز دلخواه از جدول بکشم بیرون، خودم یک سری نوشتم اما بهینه نیستن! یعنی از ایندکس استفاده نمیکنن!!!! برای مثال query زیر:

EXPLAIN SELECT images.id as iid,images.*,users.*,COALESCE(x.cnt, 0) AS cnt, COALESCE(x.arate, 0) AS arate FROM images
LEFT OUTER JOIN (SELECT r.imageid,COUNT(r.id) as cnt,AVG(r.rate) AS arate FROM rates r GROUP BY r.imageid) x ON x.imageid = images.id
LEFT OUTER JOIN users on images.uid=users.id ORDER BY images.sdate limit 5​

این نتیجه رو بهم میده که اصلاً خوب نیست!:

1 PRIMARY images ALL 68412 Using temporary; Using filesort
1 PRIMARY <derived2> ALL 22
1 PRIMARY users eq_ref PRIMARY PRIMARY 4 twitter.images.uid 1
2 DERIVED r index imageid 4 124

حالا من میخوام که یک نفر کار بهینه سازی و نوشتن 10 تا query رو برام انجام بده!

قیمتتاون رو برام ارسال کنید، در صورت رضایت کار در پروژه های آتی بیشتر همکاری میکنیم!
 
بالا