1 milhão de registros deixar o select rápido
05/02/2020
0
Olá amigos do fórum!
Tenho uma dúvida e gostaria que se alguém pudesse me dar uma ideia ficaria muito grato. Tenho uma tabela de lançamentos do caixa que tem 1.000.000 de registros preciso filtrar por uma data inicial e data final num intervalo grande entre as datas exemplo: 01/01/2010 à 01/01/2020. Alguém tem alguma ideia de um select para deixar esta consulta rápida ? Estou usando banco de dados PostgreSQL. Obrigado !
Tenho uma dúvida e gostaria que se alguém pudesse me dar uma ideia ficaria muito grato. Tenho uma tabela de lançamentos do caixa que tem 1.000.000 de registros preciso filtrar por uma data inicial e data final num intervalo grande entre as datas exemplo: 01/01/2010 à 01/01/2020. Alguém tem alguma ideia de um select para deixar esta consulta rápida ? Estou usando banco de dados PostgreSQL. Obrigado !
Itamar Monteiro
Curtir tópico
+ 0
Responder
Posts
05/02/2020
Alec Candia
Olá amigos do fórum!
Tenho uma dúvida e gostaria que se alguém pudesse me dar uma ideia ficaria muito grato. Tenho uma tabela de lançamentos do caixa que tem 1.000.000 de registros preciso filtrar por uma data inicial e data final num intervalo grande entre as datas exemplo: 01/01/2010 à 01/01/2020. Alguém tem alguma ideia de um select para deixar esta consulta rápida ? Estou usando banco de dados PostgreSQL. Obrigado !
Tenho uma dúvida e gostaria que se alguém pudesse me dar uma ideia ficaria muito grato. Tenho uma tabela de lançamentos do caixa que tem 1.000.000 de registros preciso filtrar por uma data inicial e data final num intervalo grande entre as datas exemplo: 01/01/2010 à 01/01/2020. Alguém tem alguma ideia de um select para deixar esta consulta rápida ? Estou usando banco de dados PostgreSQL. Obrigado !
Sem dúvida o segredo da performance estará nos índices utilizados nessa tabela. Como referência vou citar o Microsoft SQL Server que oferece um recurso chamado "Plano de Execução Real" que aponta onde estaria o gargalo de uma consulta que demanda tempo maior que o necessário, seja por excesso de registros ou campos retornados, seja por excesso de JOINS em outras tabelas. Quase sempre a indexação de algum campo que será chave de análise acaba resolvendo o problema e acelerando bastante o tempo de espera do resultado.
Como citei, é um recurso que uso bastante no MS-SQL, mas acredito que tenha algo similar no PostgreSQL.
Abraço
Responder
05/02/2020
Itamar Monteiro
Olá amigos do fórum!
Tenho uma dúvida e gostaria que se alguém pudesse me dar uma ideia ficaria muito grato. Tenho uma tabela de lançamentos do caixa que tem 1.000.000 de registros preciso filtrar por uma data inicial e data final num intervalo grande entre as datas exemplo: 01/01/2010 à 01/01/2020. Alguém tem alguma ideia de um select para deixar esta consulta rápida ? Estou usando banco de dados PostgreSQL. Obrigado !
Tenho uma dúvida e gostaria que se alguém pudesse me dar uma ideia ficaria muito grato. Tenho uma tabela de lançamentos do caixa que tem 1.000.000 de registros preciso filtrar por uma data inicial e data final num intervalo grande entre as datas exemplo: 01/01/2010 à 01/01/2020. Alguém tem alguma ideia de um select para deixar esta consulta rápida ? Estou usando banco de dados PostgreSQL. Obrigado !
Sem dúvida o segredo da performance estará nos índices utilizados nessa tabela. Como referência vou citar o Microsoft SQL Server que oferece um recurso chamado "Plano de Execução Real" que aponta onde estaria o gargalo de uma consulta que demanda tempo maior que o necessário, seja por excesso de registros ou campos retornados, seja por excesso de JOINS em outras tabelas. Quase sempre a indexação de algum campo que será chave de análise acaba resolvendo o problema e acelerando bastante o tempo de espera do resultado.
Como citei, é um recurso que uso bastante no MS-SQL, mas acredito que tenha algo similar no PostgreSQL.
Abraço
Ok amigo!
vou dar uma pesquisada, obrigado !
Responder
Clique aqui para fazer login e interagir na Comunidade :)