متأسفانه برای چندمین بار سؤال من بدون جواب موند
البته در مورد برخی دوستان دیگه هم اتفاق افتاده ولی فکر میکنم بد هم نباشه چون باز هم سبب شد خودم بیشتر روش کار کنم و مشکلم رو حل کنم
در مورد شما که میگید توی بخش خودش مطرح کنم باید بگم من مطرح کردم کوئری و چندان ربطی نداره که دیتابیس من از چه نوعی هست چون کوئری هست سوال کلیت داره و ساختار کوئری من مورد بحث بود نه پایگاه داده
به هر حال خودم حلش کردم
کدش رو میذارم برای کسانی که ممکنه همین مشکل رو داشته باشن

select
((avg(Rawdata.Q1 )-1)*250) as Q1, ((avg(Rawdata.Q2 )-1)*250) as Q2,
((avg(Rawdata.Q3 )-1)*250) as Q3, ((avg(Rawdata.Q4 )-1)*250) as Q4,
((avg(Rawdata.Q5 )-1)*250) as Q5, ((avg(Rawdata.Q6 )-1)*250) as Q6,
((avg(Rawdata.Q7 )-1)*250) as Q7, ((avg(Rawdata.Q8 )-1)*250) as Q8,
((avg(Rawdata.Q9 )-1)*250) as Q9, ((avg(Rawdata.Q10 )-1)*250) as Q10,
((avg(Rawdata.Q11 )-1)*250) as Q11, ((avg(Rawdata.Q12 )-1)*250) as Q12,
((avg(Rawdata.Q13 )-1)*250) as Q13, ((avg(Rawdata.Q18 )-1)*250) as Q18,
Count(*) AS cntr, rawdata.Bcode2,
Companies.BCode, Companies.BranchName,Companies.city, Companies.GTP,Companies.RKOLD,Rawdata.Ostan
FROM rawdata INNER JOIN companies ON Rawdata.Bcode2=Companies.Bcode2
GROUP BY Rawdata.BCode2, Companies.BCode, Companies.BranchName,Companies.city, Companies.GTP,Companies.RKOLD,Rawdata.Ostan
HAVING Count(*)>10;

در حقیقت من بجای استفاده از Inner Join خودم اون رو دستی پیاده سازی کرده بودم که با مشکل افت سرعت مواجه شده بودم
بعنوان تجربه عرض کنم اگر شما با بهترین روش هم دستورات SQL رو پیاده سازی کنید باز هم 1 دهم سرعت اجرای دستور معادلش توی DBM رو نخواهید داشت