It is very difficult to suggest about performance imrpovement of query without knowing anything about the tables, especially all you are doing is joining bunch of table on some conditions. I can only suggest some generic things like check if you are missing any JOINS/Conditions, check if there is any product join anywhere, check the stats on the tables are accurate etc. I'd suggest, run the explain first and try to find out what is causing this issue.
It is very difficult to suggest about performance imrpovement of query without knowing anything about the tables, especially all you are doing is joining bunch of table on some conditions. I can only suggest some generic things like check if you are missing any JOINS/Conditions, check if there is any product join anywhere, check the stats on the tables are accurate etc. I'd suggest, run the explain first and try to find out what is causing this issue.