Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''lentas''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Todas as áreas do Fórum

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento Web
    • Desenvolvimento frontend
    • Javascript
    • PHP
    • Ruby
    • Python
    • Java
    • .NET
    • Docker, Kubernets e outros ambientes
    • Desenvolvimento com Wordpress
    • Desenvolvimento de apps
    • Desenvolvimento ágil
    • Desenvolvimento de Games
    • Banco de Dados
    • Design e UX
    • Algoritmos & Outras Tecnologias
  • Entretenimento e uso pessoal
    • Segurança & Malwares
    • Geral
    • Boteco iMasters

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Encontrado 1 registro

  1. Tenho verificado que muitas pessoas ao redor do mundo têm esbarrado em uma falha do MySQL em não trabalhar corretamente com Views, quando estas possuem consultas complexas com muitos joins entre muitas tabelas. O link abaixo faz referência a uma dúvida do ano de 2011, mas já vi casos de 2005, 2006, 2007, 2012, 2013, 2015,2016,2017 e 2018. Afirmo que está questão é antiga, pois me deparei com o mesmo problema busquei soluções em diversos fóruns no Brasil e exterior e nada funcionava, pois é de fato um problema do MySQL, que até o momento na versão 8, não foi resolvido. O problema é que o Mysql ignora todos os indices em consultas dentro de uma VIEW. https://forum.imasters.com.br/topic/438365-consulta-a-partir-de-view-lenta/ Verifiquei que muitas tentativas em passar parâmetros para as consultas dentro da view, em busca de solucionar o problema. RESOLVI O PROBLEMA através de uma procedure, com um único parâmetro de varchar(300) suficiente para para uma string "where <condições...>" ou "having <condições...>" que funcionam bem de acordo com a complexidade da View. Coloquei o exemplo com o HAVING como parâmetro, devido este cenário ser mais complicado de solucionar para a grande maiorias das pessoas. OU SEJA, quando a consulta possui muitas tabelas, cada delas com colunas com nomes diferentes, padronizadas na VIEW com apelidos nas colunas, o HAVING é a solução ideal. A solução é super simples e funcional. Se alguém tiver outra solução favor compartilhar, enquanto isso vou usando esta aqui. DELIMITER ;; CREATE PROCEDURE `SP_QUERY_VIEW_WITH_PARAMETERS`(IN p_having VARCHAR(300)) COMMENT 'Executes the statement' BEGIN SET @v_having = p_having; SET @v_sql=CONCAT('SELECT id AS id_emp , user AS emp_name, . . . FROM table1 UNION ALL SELECT idtifier_us AS id_emp , description AS emp_name, . . . FROM table2'); SET @v_sql2 = CONCAT(@v_sql,@v_having); PREPARE stmt FROM @v_sql2; EXECUTE stmt; DEALLOCATE PREPARE stmt; END ;; DELIMITER ; CALL `SP_QUERY_VIEW_WITH_PARAMETERS`('having id_emp=63 and emp_name like ''VANDERLEI%'' and created_at between ''2019-05-01'' and ''2019-05-17'' ')
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.