Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá Pessoal!Estou com o seguinte problema.Tenho um banco de dados onde administro banners, basicamente hits e clicks.Gravo tudo isso numa tabela, cada hits e cada clicks, gravo junto data, hora, cod_banner e ip da maquina.Diferencio o hits do click por um codigo, por exemplo 1 é para hits e 2 é para clicksLogo a tabela de logs tem a seguinte estruturacodigo bigint(8)data char(10)hora char(15)ip char(20) marquei aqui.. deveria ter criado varchar.. agora fica espaços em brancocod_log int(1) - 1 para hits e 2 para clicks..cod_banner (int(4)Essa tabela tem muitos registros... cada mês tem em média 880.000 registros, já tenho uns 10 meses de logs.O problema que estou tendo é na hora de tirar um relatório disso, por exemplo.Pego um banner e quero saber os hits e clicks dele em um determinado mês de um determinado ano.Está dando muito time out para tirar esses relatório, em alguns casos funciona certinho.Já revisei o código varias vezes e está tudo certinho, uso SELECT COUNT(codigo) para pegar o total de registro e uso a clausula WHERE para filtar a data.Bom!Minha dúvida é a seguinte, como posso otimizar essa tabela?Pensei em excluir o campo Ip, já que não está tendo nenhum uso desde que foi criado e como dito acima é char.Gostaria de saber tbm, se ganho performance se colocar as consultas em Store Procedure.Se alguém tiver uma idéia é bem vinda..[]s a todos..
Carregando comentários...