Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Método preferido para visualizações materializadas (tabelas de resumo) com MySQL


Flexviews (http://flexvie.ws) é um projeto de código aberto baseado em PHP/MySQL. Flexviews adiciona visualizações materializadas incrementalmente atualizáveis ​​(como as visualizações materializadas no Oracle) ao MySQL, usando PHP e procedimentos armazenados.

Inclui FlexCDC, um utilitário de captura de dados de alteração baseado em PHP que lê logs binários e os procedimentos armazenados Flexviews MySQL que são usados ​​para definir e manter as visualizações.

Flexviews suporta junções (somente junção interna) e agregação para que possa ser usado para criar tabelas de resumo. Além disso, você pode usar Flexviews em combinação com o designer de agregação do Mondrian (um servidor ROLAP) para criar tabelas de resumo que a ferramenta ROLAP pode usar automaticamente.

Se você não tem acesso aos logs (ele pode lê-los remotamente, btw, então você não precisa de acesso ao servidor, mas precisa de SUPER privs), então você pode usar a atualização 'COMPLETE' com Flexviews. Isso automatiza a criação de uma nova tabela com 'CREATE TABLE ... AS SELECT' sob um novo nome de tabela. Em seguida, ele usa RENAME TABLE para trocar a nova tabela por uma, renomeando a antiga com um postfix _old. Finalmente ele derruba a velha mesa. A vantagem aqui é que o SQL para criar a visualização é armazenado no banco de dados (flexviews.mview) e pode ser atualizado com uma simples chamada de API que automatiza o processo de troca.