Peguei este exemplo de um livro onde Visitors_today é a tabela de cache de Visitor_stored. A ideia é armazenar todos os visitantes por dia (visitors_stored) usando uma tabela de cache.
Create table visitors_today(
today int unsigned not null default 0,
vcount bigint unsigned not null default 0
)
engine = Innodb;
create table visitors_stored(
v_count bigint unsigned not null default 0,
vcount_date DATE not null primary key
)
engine=MyIsam;
Minhas perguntas:
- Preciso configurar algo?
- Uma tabela de cache é apenas uma tabela normal, a diferença é que os dados serão excluídos após atualizar o Visitors_stored? ou apenas porque o mecanismo de armazenamento será mais rápido?
Se entendi sua pergunta corretamente, seus exemplos estão apenas armazenando os
vcount
visitantes (visitors_stored
) de hoje.Isso significa
Você vai querer um script para redefinir
visitors_today
todos os dias à meia-noite.Você vai querer um gatilho
visitors_stored
para atualizar avisitors_today
tabela.Porque você faria isso? Se você quisesse saber regularmente quantos visitantes foram hoje, você faria um
ao invés de
Depende de como seu servidor está ajustado, mas geralmente se você tiver um índice na
vcount_date
coluna emvisitors_stored
, será suficiente. Se suavisitors_stored
tabela for muito grande (> 100 GB, digamos), a tabela de cache pode ser útil.Se você começar a ver problemas de desempenho com colunas computadas, uma coluna ou tabela de cache pode ser o caminho a seguir.