Pular para o conteúdo
#106070
Avatar de Fábio PradoFábio Prado
Participante

    @mpungan

    Eu até gostaria de te ajudar MAIS, mas infelizmente é difícil por questões de tempo e acho que até agora ninguém respondeu por causa disso também!

    SQL Tuning não é uma tarefa muito fácil! Em queries como essa é muito demorado analisar, entender e dar sugestões de melhorias. Eu levaria no mínimo 1 dia inteiro para entender o que você está fazendo e o que você precisa fazer para REALMENTE tunar essa query. Vou dar abaixo apenas algumas sugestões simples de coisas que vi rapidamente na query (e que talvez vc já até saiba):

    1- Veja se é possível eliminar o DISTINCT;
    2- Elimine todas as funções desnecessárias;
    3- Substitua os outer joins por inner joins se possível;
    4- Tire o ORDER BY do SQL. Fazer ordenação na aplicação normalmente é muito mais rápido;
    5- Crie cautelosamente índices nas colunas de filtro e FKs, mas cuidado, os índices melhoram a performance das consultas, mas pioram a performance de INSERT, UPDATE e DELETE.
    6- Utilize a cláusula WITH para tabelas que são referenciadas N vezes na instrução SQL.

    []s

    Fábio Prado
    http://www.fabioprado.net

    plugins premium WordPress