سرعت پایین یک کوئری ؟

salam_ali

Member
سلام
دوستان عزیز من یک کوئری نوشتم که در لوکال زیر یک ثانیه انجام می شود ولی در هاست بیش از 15 ثانیه طول می کشد ؟ این کوئریه

SELECT `image`.*, SUM(UserType) AS sumusertype FROM `image` LEFT JOIN `rate` ON (`image`.`ImageId` = `rate`.`PartId`) WHERE `image`.`ImageId` NOT IN (SELECT `PartId` FROM `rate` WHERE `UserId` = '1') AND `image`.`UserId` != '1' AND `image`.`Delete` = '1' GROUP BY `rate`.`PartId` HAVING sumusertype < '25' ORDER BY `image`.`ImageId` LIMIT 6

حالا جالب اینجاست که بخش
`image`.`ImageId` NOT IN (SELECT `PartId` FROM `rate` WHERE `UserId` = '1')
را که بر می دارم سرعت زیر یک ثانیه می شه ؟

ممنون می شم دوستان راهنمایی کنند.
 

Masoud1365

مدیر انجمن
شما اون ساب کوئری رو جدا کن ! یعنی اول اونو اجرا کن و آیی دیهایی که میخوایی رو جدا کن بعدش کوئری دوم رو اجرا کن و به جای ساب کوئری مقادیری که قبلش از دیتا بیس گرفتی رو بزار !
 

D.A.V.O.O.D

Member
سلام ،

تعداد رکورد ها در لوکال و در هاست با هم برابر هستند ؟

اگه اینطوره MySQL سرور شما فشار زیادی روشه یا اینکه سرورتون CPU بالایی نداره

موفق باشید
 

salam_ali

Member
تعداد رکورد ها در هاست 3 برابر ه ....
نسخه MySQL 5 ....
کوئری های دیگه سایت مشکلی ندارن .... مشکل از بخش NOT IN () است !!!
 

جدیدترین ارسال ها

بالا