Eu tenho duas tabelas com a mesma estrutura, A e B. Um certo aplicativo é escrito para que ele sempre grave os mesmos dados nas duas tabelas.
Após uma discussão com um colega sobre o potencial de economizar espaço no disco, estou pensando se o mysql ou o postgresql tem a capacidade de criar na tabela como um "alias" ou "link simbólico" de outro.
Eu quero que o comportamento seja muito semelhante ao de um link simbólico de arquivo flexível; onde a leitura do próprio link simbólico ou de seu destino produzirá a mesma saída e a gravação em qualquer um deles atualizará o destino.
mysql
postgresql
user50849
fonte
fonte
Respostas:
Até onde eu sei, um novo Postgresql permite que você tenha
INSTEAD OF
gatilhos nas visualizações. Portanto, ter uma tabela, uma visualização comoSELECT * FROM table1
eINSTEAD OF
trigger parainsert, update, delete
deve funcionar para você. Essa abordagem não funcionará no Mysql.fonte
É possível no MySQL (usando apenas o mecanismo de armazenamento MyISAM) criar uma tabela do zero usando links simbólicos. É possível no Linux e Windows (usando hardlinks):
Aqui estão minhas postagens anteriores sobre esse assunto
No entanto, o que você está propondo teria que ser feito fora do MySQL no Linux.
Para este exemplo
PASSO 01) Criar tabela1
PASSO 02) Crie três links simbólicos para imitar o TableB
PASSO 03) Tente inserir na tabela1 e ler a partir da tabela2. Então tente o contrário.
Se tudo se comportar normalmente, é assim que você pode fazer isso.
EMBARGO
fonte