eduardomenezes.a Postado Dezembro 13, 2018 Denunciar Share Postado Dezembro 13, 2018 Olá. Tentarei exemplificar o problema. Tenho uma tabela com duas colunas e seus respectivos conteúdos: VALOR (int), DATA (datetime) 1, 2018-12-10 20:50:00 5, 2018-12-13 12:00:00 4, 2018-12-13 13:00:00 3, 2018-12-13 17:00:00 2, 2018-12-15 06:00:00 9, 2018-12-15 08:00:00 Consulto as informações, por exemplo: SELECT * FROM TABELA WHERE DATA BETWEEN '2018-12-13 00:00:00' AND '2018-12-13 23:59:59' Está me trazendo somente os valores 4 e 5, o 3 ele não trás, porém todos estão dentro do período. Com isso, estou perdendo registros nas consultas. Buscando somente o valor 3 direto, (SELECT * FROM TABELA WHERE VALOR = 3), ele trás a informação normalmente. Adicionei e removi os índices, tentei otimizar a tabela, porém nada resolve. Não sei se envolve o tamanho da tabela, pois há 2.782.219 registros na mesma. Estrutura da tabela: InnoDB Formatação da tabela: utf8_general_ci Se alguém tiver uma luz... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Leonardo Persan Postado Dezembro 19, 2018 Denunciar Share Postado Dezembro 19, 2018 Como você está fazendo essa consulta? Através de código, direto no terminal, através de um programa? Se for código tem como mandar um print ou trecho do código que faz a consulta e escreve o resultado? Se for programa ou terminal, manda o print da consulta e resposta Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Fevereiro 19, 2019 Denunciar Share Postado Fevereiro 19, 2019 Em 13/12/2018 em 16:40, eduardomenezes.a disse: SELECT * FROM TABELA WHERE DATA BETWEEN '2018-12-13 00:00:00' AND '2018-12-13 23:59:59' Neste caso sua consulta deveria se limitar a data apenas. Sem a hora. Tente assim: SELECT * FROM TABELA WHERE DATA = DATE('2018-12-13') Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
eduardomenezes.a
Olá.
Tentarei exemplificar o problema.
Tenho uma tabela com duas colunas e seus respectivos conteúdos:
VALOR (int), DATA (datetime)
1, 2018-12-10 20:50:00
5, 2018-12-13 12:00:00
4, 2018-12-13 13:00:00
3, 2018-12-13 17:00:00
2, 2018-12-15 06:00:00
9, 2018-12-15 08:00:00
Consulto as informações, por exemplo:
SELECT * FROM TABELA WHERE DATA BETWEEN '2018-12-13 00:00:00' AND '2018-12-13 23:59:59'
Está me trazendo somente os valores 4 e 5, o 3 ele não trás, porém todos estão dentro do período.
Com isso, estou perdendo registros nas consultas.
Buscando somente o valor 3 direto, (SELECT * FROM TABELA WHERE VALOR = 3), ele trás a informação normalmente.
Adicionei e removi os índices, tentei otimizar a tabela, porém nada resolve.
Não sei se envolve o tamanho da tabela, pois há 2.782.219 registros na mesma.
Estrutura da tabela: InnoDB
Formatação da tabela: utf8_general_ci
Se alguém tiver uma luz...
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.