Tem que criar uma VIEW, mas use antes de criar a view o EXPLAIN para otimizar BEM este SELECT, se tiver algumas tabelas que possa só usar ARIA em vez de INNODB mude a engine delas, ai depois
de depurar bem ‘QUERY’ crie a view dela, normalmente tabelas que são usadas mais para inclusão e gerar consultas, que não tem milhares de usuários atualizando um determinado registro ou QUERY UPDATE TOTAL nela, fica de boa mudar para ARIA.
OTIMIZAR MUITA A BUSCA, use EXPLAIN e faça:
INDICES COMPOSTOS (Campo1, Campo2, Campo3, etc). vários campos agrupados no mesmo INDICE.
EXPLAIN SELECT campo1, campo2 FROM tabela WHERE Campo1=‘X’ AND Campo2=‘B’ ORDER BY Campo01,
As vezes ‘a coluna ref’ voltara ‘NULL’ mas veja se esta pegando o Indice ‘key’ composto de todos
os campos do Filtro e se rows esta o mais baixo possível, se estiver esta otimizado.
No Scriptcase use a macro sc_where_corrent para ver qual o campo que o usuário filtra,
como padrão se existe um indice composto que abranja estes campos compostos do filtro.
echo {sc_where_current}.’< BR >’;