3:15 essa era uma dúvida q eu tinha, pois eu sempre fiz assim, colocando vírgula sem usar 'join' e nos exemplos geralmente usam 'join', então agora comecei a entender qual a vantagem.
E se precisar realmente filtrar pelo DATA_ABERTURA, que só teria na OS e não na OS_ITEM, mas precisasse do LEFT JOIN? Iria inserir essa filtragem no left join ou teria que forçar a usar o plano com o PLAN?
Quanto mais assisto seus vídeos mais acho que estou trabalhando da forma correta, usando o banco só pra guardar dados e fazer todo o resto pela aplicação, muiiito obrigado, vou continuar assistindo, falta muitos vídeos ainda.
Hehehe, na verdade, no meu ponto de vista, deve ter um equilíbrio entre as duas partes... existem coisas que são essenciais deixar no banco de dados, como validações por exemplo.
Gostei do video parça muito bom, mais tenho uma duvida, entao, nas buscas de campos indexados como nesse caso data_abertura, eu nao poderia estar utilizando um extract month pra pegar tudo o que foi feito durante o mes ou extract year, nesses casos teria alguma solucao para efetuar a leitura por data indexada pegando somente por mes ou ano?
Bacana o exemplo, se voce tiver outro exemplo usando Indices, irá ajudar bastante. Exemplo: Imagine um select com varias tabelas com (inner join) e um where de datas, mas usando FOR EXECUTE STATEMENTE SQL .. Sql = SQL || ' and AGENDA.DATA_MARCADA >= ''' || :DATA_INICIAL || '''' ; Sql = SQL || ' and AGENDA.DATA_MARCADA
Excelente conteúdo. Parabéns. Existe algum vídeo que de dicas para agilizar uma consulta select * em uma tabela com mais de 600mil itens? Estava quase desistindo do Firebird até conhecer seu canal, tem me ajudado muito, mas consultas estão bem lentas. Obrigado.
Opaa, que bom que gostou!! E que bom que não desistiu do FB, porque migrar pra outro banco sem conhecer técnicas de aceleração, provavelmente te faria ter os mesmos problemas. Separei alguns vídeos aqui pra te ajudar a turbinar seu banco: #FASTTIP - Índice com precisão cirúrgica - 10.000 leituras virando uma só: th-cam.com/video/BXwDD0JQnbI/w-d-xo.html Criar índice NÃO É TUDO, veja o porquê!: th-cam.com/video/Ru2iatwnfWo/w-d-xo.html #FASTTIP - Como sei qual é a hora de EXCLUIR um índice?: th-cam.com/video/E4qI2N3dc9Y/w-d-xo.html #FASTTIP - Preciso criar índice em campos do group by?: th-cam.com/video/fMHpWyV40L4/w-d-xo.html #FASTTIP - COMO ACELERAR SUAS CONSULTAS COM CRIAÇÃO DE ÍNDICES: th-cam.com/video/3pjRwWSeXQ0/w-d-xo.html ÍNDICE INDIVIDUAL OU COMPOSTO, QUAL O MELHOR?: th-cam.com/video/x8KnDMGql6Q/w-d-xo.html COMO FUNCIONAM AS ESTATÍSTICAS DOS ÍNDICES: th-cam.com/video/iTkE2ls-SCI/w-d-xo.html Como preparar o FB para 500 conexões simultâneas baseado no seu hardware!: th-cam.com/video/TltmVil_fgU/w-d-xo.html
@@mqfsnossa, essa lista de vídeos não poderia estar "escondida" num comentário assim 😅. Isso deveria ser uma playlist própria kkk. Ainda bem que li esse comentário e abri a resposta.
Vc diz em relação à performance? Sei que o DBEaver tem um local que mostra os tempos gastos, mas cara... te dizer.. igual a do IBExpert, nunca vi. DBEaver é genérico né, conecta em vários bancos.. IBExpert é específico pra Firebird e Interbase
Preciso fazer um SELECT * FROM em uma tabela com 9mi registros sem WHERE mas com paginacao de 5.000 registros. Quando a tela abre na primeira página (FIRST 5000 SKIP 0) a leitura leva 0.2s. Porém quando seleciono ir para última página (FIRST 5000 SKIP 8800000) a consulta dura 8s, mesmo com o banco recém-indexado. A performance é a mesma trocando FIRST/SKIP por ROWS/TO. O Select é ordenado SEMPRE ascendentemente pelo campo PK da Tabela. Tem alguma forma de ler esses registros do fim da tabela com mais performance no Firebird?
Muiton bom , gostaria de saber como usar valores de uma tabela seguntaria repetindo na mesma linha atraves do nome dado ao campo, ex: produto x produtoxpreco, um produto x se tiver mais de um preco, aparecer todos na mesma linha e colocando os preços coluna ao lado.
Massa demais! Valeu pela aula!
Shooow, que bom que gostou!!
Muito bom , excelente explicação
Valeeu!! 💪🏻💪🏻💪🏻
excelente dica meu amigo.
Valeeeu!! 💪🏻💪🏻💪🏻
Ótima dica!
Valeeeu!! 💪🏻💪🏻💪🏻
Valeu!
3:15 essa era uma dúvida q eu tinha, pois eu sempre fiz assim, colocando vírgula sem usar 'join' e nos exemplos geralmente usam 'join', então agora comecei a entender qual a vantagem.
Simplesmente sensacional! Mudei os códigos de vários relatórios que eu tenho e o ganho de performance foi surreal!!! Muito obrigado!!!
Show de bola!!!
Show
💪🏻💪🏻💪🏻
Maravilha, vlw.
💪🏻💪🏻💪🏻💪🏻
Há 15 anos escrevo inner join. Imagine quantas vezes digitei inner perdendo tempo e gastando minhas velhas digitais. Tudo aqui é valioso. Aplausos.
Valeeeeu 💪🏻💪🏻💪🏻💪🏻
E se precisar realmente filtrar pelo DATA_ABERTURA, que só teria na OS e não na OS_ITEM, mas precisasse do LEFT JOIN? Iria inserir essa filtragem no left join ou teria que forçar a usar o plano com o PLAN?
Vc pode optar por colocar a OS como tabela principal.. Filtrando pela data vc elimina muitas OS
Como sempre muito bom seus vídeos
Valeeeu 💪🏻💪🏻💪🏻
Quanto mais assisto seus vídeos mais acho que estou trabalhando da forma correta, usando o banco só pra guardar dados e fazer todo o resto pela aplicação, muiiito obrigado, vou continuar assistindo, falta muitos vídeos ainda.
Hehehe, na verdade, no meu ponto de vista, deve ter um equilíbrio entre as duas partes... existem coisas que são essenciais deixar no banco de dados, como validações por exemplo.
otimo o video ta de parabens, muito bem explicado. Sou seu fã.
Valeeeu :D:D
Gostei do video parça muito bom, mais tenho uma duvida, entao, nas buscas de campos indexados como nesse caso data_abertura, eu nao poderia estar utilizando um extract month pra pegar tudo o que foi feito durante o mes ou extract year, nesses casos teria alguma solucao para efetuar a leitura por data indexada pegando somente por mes ou ano?
Opa, este vídeo aqui tem algumas formas de como usar filtro dessa forma com performance: th-cam.com/video/l23eD5BKZow/w-d-xo.html
Mais um vídeo fabuloso, mas tenho outra dúvida, em caso de uma view como eu devo proceder pois não tenho nenhum filtro para passar.
Bacana o exemplo, se voce tiver outro exemplo usando Indices, irá ajudar bastante.
Exemplo: Imagine um select com varias tabelas com (inner join) e um where de datas, mas usando FOR EXECUTE STATEMENTE SQL ..
Sql = SQL || ' and AGENDA.DATA_MARCADA >= ''' || :DATA_INICIAL || '''' ;
Sql = SQL || ' and AGENDA.DATA_MARCADA
Opaa, vamos abordar isso ainda!! Kkkk, temos muuuuito conteúdo pela frente
Excelente conteúdo. Parabéns. Existe algum vídeo que de dicas para agilizar uma consulta select * em uma tabela com mais de 600mil itens? Estava quase desistindo do Firebird até conhecer seu canal, tem me ajudado muito, mas consultas estão bem lentas. Obrigado.
Opaa, que bom que gostou!! E que bom que não desistiu do FB, porque migrar pra outro banco sem conhecer técnicas de aceleração, provavelmente te faria ter os mesmos problemas.
Separei alguns vídeos aqui pra te ajudar a turbinar seu banco:
#FASTTIP - Índice com precisão cirúrgica - 10.000 leituras virando uma só: th-cam.com/video/BXwDD0JQnbI/w-d-xo.html
Criar índice NÃO É TUDO, veja o porquê!: th-cam.com/video/Ru2iatwnfWo/w-d-xo.html
#FASTTIP - Como sei qual é a hora de EXCLUIR um índice?: th-cam.com/video/E4qI2N3dc9Y/w-d-xo.html
#FASTTIP - Preciso criar índice em campos do group by?: th-cam.com/video/fMHpWyV40L4/w-d-xo.html
#FASTTIP - COMO ACELERAR SUAS CONSULTAS COM CRIAÇÃO DE ÍNDICES: th-cam.com/video/3pjRwWSeXQ0/w-d-xo.html
ÍNDICE INDIVIDUAL OU COMPOSTO, QUAL O MELHOR?: th-cam.com/video/x8KnDMGql6Q/w-d-xo.html
COMO FUNCIONAM AS ESTATÍSTICAS DOS ÍNDICES: th-cam.com/video/iTkE2ls-SCI/w-d-xo.html
Como preparar o FB para 500 conexões simultâneas baseado no seu hardware!: th-cam.com/video/TltmVil_fgU/w-d-xo.html
@@mqfs muito obrigado. Vou assistir todos. 👍
@@mqfsnossa, essa lista de vídeos não poderia estar "escondida" num comentário assim 😅. Isso deveria ser uma playlist própria kkk.
Ainda bem que li esse comentário e abri a resposta.
Parabéns, muito bom.
Você conhece alguma ferramenta de analise de select que seja gratuita?
Obrigado
Vc diz em relação à performance?
Sei que o DBEaver tem um local que mostra os tempos gastos, mas cara... te dizer.. igual a do IBExpert, nunca vi.
DBEaver é genérico né, conecta em vários bancos.. IBExpert é específico pra Firebird e Interbase
Preciso fazer um SELECT * FROM em uma tabela com 9mi registros sem WHERE mas com paginacao de 5.000 registros.
Quando a tela abre na primeira página (FIRST 5000 SKIP 0) a leitura leva 0.2s. Porém quando seleciono ir para última página (FIRST 5000 SKIP 8800000) a consulta dura 8s, mesmo com o banco recém-indexado. A performance é a mesma trocando FIRST/SKIP por ROWS/TO. O Select é ordenado SEMPRE ascendentemente pelo campo PK da Tabela.
Tem alguma forma de ler esses registros do fim da tabela com mais performance no Firebird?
Consegui resolver usando ao invés de FIRST 5000 SKIP 8800000, usar o WHERE do PK da Tabela: WHERE ID BETWEEN 8800000 AND 8805000
Muiton bom , gostaria de saber como usar valores de uma tabela seguntaria repetindo na mesma linha atraves do nome dado ao campo, ex: produto x produtoxpreco, um produto x se tiver mais de um preco, aparecer todos na mesma linha e colocando os preços coluna ao lado.