多个连接确实会降低MySQL查询的速度

多个连接确实会降低MySQL查询的速度,mysql,performance,join,Mysql,Performance,Join,这是我第一次做这么大的查询和这么多的连接。当我做这个查询时,速度非常慢。我不知道如何使用外键,如果它甚至会帮助。。。但如果有人知道我可以加快速度的方法,那将非常有帮助。我的问题是: SELECT FLOOR(AVG(ra.double)) AS price, hi.hname, hi.hotel_id as hid, hi.hstars, hi.haddress, im.image_file, hd.short_desc, pr.promo_name, pr.discount, pr.disc

这是我第一次做这么大的查询和这么多的连接。当我做这个查询时,速度非常慢。我不知道如何使用外键,如果它甚至会帮助。。。但如果有人知道我可以加快速度的方法,那将非常有帮助。我的问题是:

SELECT FLOOR(AVG(ra.double)) AS price, hi.hname,  hi.hotel_id as hid, hi.hstars, hi.haddress, im.image_file, hd.short_desc, pr.promo_name, pr.discount, pr.discount_type, pr.book_start, pr.book_end 
    FROM hotel_info AS hi 
    JOIN images AS im ON im.foreign_id = hi.hotel_id 
    LEFT JOIN hotel_desc AS hd ON hd.hotel_id = hi.hotel_id 
    RIGHT JOIN rates AS ra ON ra.hotel_id = hi.hotel_id 
    RIGHT JOIN promotions AS pr ON pr.hotel_id = ra.hotel_id 
    WHERE ra.booking_date  BETWEEN '2012-01-01' AND '2012-01-06' 
    AND ra.double != '0.00' 
    AND hi.status = '1' 
    AND hi.destination_id = '$destination' 
    GROUP BY hi.hotel_id

查询计划(请参阅解释)和模式或无帮助。我有,两行找不到索引。。但他们在旅馆里有_id@liveandream:pst的意思是,您没有向任何人显示足够的信息来帮助您。请发布您的模式和解释计划(编辑您的问题以添加该信息)。