• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

rt4ever

JSP + SQL - Melhor solução

9 mensagens neste tópico

Boa Tarde pessoal,

Gostaria de saber a vossa opinião/experiência sobre qual o melhor método, biblioteca ou sugestão para aceder e listar uma tabela com cerca de 1 milhão de registos, numa base de dados SQL, usando JSP.

Uma das prioridades, e como é para ser acedido através da Internet, é o menor tempo possível de carregamento dos dados.

De referir ainda que os dados são actualizados de 5 em 5 minutos, pelo que, todos os acessos à pagina .jsp deveram carregar directamente da base de dados, para que estes sejam sempre os mais recentes.

Fico a aguardar o vosso feedback.

Obrigado desde já, Abraços.      :wallbash:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas queres q esse milhão de registos apareçam na página?

Isso parece-me exagerado, ninguém vai analisar um milhão de registos ao mesmo tempo.

Quanto muito utiliza critérios de pesquisa ou paginação.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não é para apresentar o milhão de registos, mas será necessário analisar cada linha do resultset, para comparar valores e depois só são apresentados alguns desses valores. Mas a "analise" inicial terá que ser sempre da tabela toda...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O melhor é filtrares o mais possivel na query então, para só passar o essencial entre camadas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sendo assim preciso de saber se é possível, fazer 2 count's na mesma query do mesmo campo, mas com condições diferentes, se sim um exemplo sff.

Podes ajudar-me com isto? Ou é melhor colocar essa dúvida na secção de base de dados?

Obrigado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim, é possível. Se puderes deixar um exemplo com o que pretendes ..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

o exemplo é este:

SELECT [valor1], [valor2], count([valor3]) FROM [Tabela1] AS b where [string1]!='palavra' group by [valor1], [valor2] order by  [valor1], [valor2]

SELECT [valor1], [valor2], count([valor3]) FROM [Tabela1] group by [valor1], [valor2] order by  [valor1], [valor2]

preciso juntar o resultado destes dois selects, se repararem o único valor que altera é o do count([valor3]), devido a esta condição [string1]!='palavra' na primeira query.

O resultado final pretendido é [valor1], [valor2], count([valor3])1, count([valor3])2

Sendo count([valor3])1 o valor do count da primeira query e count([valor3])2 o valor do count na segunda query.

Acho que está minimamente perceptível. Vejam la se conseguem ajudar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Era mais facil de perceber se mostrasses um ex em tabela dos resultados q tens, e outra tabela do q queres.

Ex:

Tenho:

A          B        C

a          10        10

b          10        10

e quero ter como resultado:

A            B        C

a            10        10

Assim é mais facil para te ajudar na query.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

Podes usar o DISTINCT para obteres numa query os resultados que queres e no fim comparar.

Exemplo :

SELECT customer_name, COUNT(DISTINCT city) as "Distinct Cities"
FROM customers
GROUP BY customer_name;

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora