BANCO DE DADOS MUITO GRANDE SQL

Pessoal tenho uma maquina AMD ATHON TM XP 2200 1.80 GHz com 1,25 GB de RAM com win2003 q esta com o iss e com o sql server 2000,.,,a estou desenvolvendo um sistema q a pessoa faz consulta no bd pelo site,só q uns dod meus bds tem 5 milhões e meio d registro,e está demorando d mais a consulta.vo no proprio sql QUERY ANALYZER e do um select count neste bd e fica mais ou menos uns 10 minutos pra me responder,,,gostaria q alguem me desse um help pois ja me falaram q o sql nao suporta esse tamanho d bd,outro disse q minha maquina esta muito ruin,,outro disse pra mim usar o mysql q e melhor e outro falou pra usar o firebird,,intao ai está minha pergunta,,,oq posso fazer? tem algo q posso fazer nos meus bd's pra eles serem mais rapidos,,? OBS : é q meu conhecimento no sql server e o básico pois aprendi lendo algumas coisas,,,e acho q naum aprendi os "macetes" q deve ter pra deixar o banco mais rapido..alguem poderia pelomenos me dar uma noção d q devo fazer...,por favor...
Desde j;a agradeço a colaboração d todos...
DOIDO:
A performance de um Banco de Dados é diretamente proporcional ao modo de programar o acesso ao referido banco.
Um select bem elaborado irá certamente aumentar a performance.
Evite utilizar Jóin's, Inner Join's, Between's, etc. São muito atrativos no ponto de vista de comodidade para programar, mas gastam muita máquina.
Já tive um caso, a algum tempo em que uma consulta que demorava +/- 10 minutos, passou a gastar 30 segundos, quando um meu programador (bom) simplesmente mudou o select.
Não me recordo dos detalhes, nem do que ele mudou mas acho que ainda tenho e vou procurar achar para vc.
A performance de um Banco de Dados é diretamente proporcional ao modo de programar o acesso ao referido banco.
Um select bem elaborado irá certamente aumentar a performance.
Evite utilizar Jóin's, Inner Join's, Between's, etc. São muito atrativos no ponto de vista de comodidade para programar, mas gastam muita máquina.
Já tive um caso, a algum tempo em que uma consulta que demorava +/- 10 minutos, passou a gastar 30 segundos, quando um meu programador (bom) simplesmente mudou o select.
Não me recordo dos detalhes, nem do que ele mudou mas acho que ainda tenho e vou procurar achar para vc.
Doido:
Posso estar enganado, mas perceba o que vc está fazendo:
Você quer pegar os 100 primeiros registros, cujos valores tiverem ao menos um pedaço (like) do valor (parà ¢metro) fornecido, tudo isto em uma tabela ordenada por Nome.
Concorda que ?:
Primeiro ele vai classificar seus 5,5 milhões de registros, depois vai pesquisar todos os valores até chegar ao Centézimo e aà sair fora.. E se o Centézimo estiver na Letra "Z" ?
Talvez fosse o caso de classificar por valor (o que não vai garantir muita coisa), depois por nome. Talvez fosse o caso de não usar o Like porque neste caso, mesmo indexando por valor adiantaria, pois o Like não dá bola para o Ãndice.
Enfim, precisaria estudar mais a situação, mas parece que está "cheirando" um select mal elaborado.
Enfim, precisaria saber como é sua Base de Dados.
Vale apenas como dica...
Posso estar enganado, mas perceba o que vc está fazendo:
Você quer pegar os 100 primeiros registros, cujos valores tiverem ao menos um pedaço (like) do valor (parà ¢metro) fornecido, tudo isto em uma tabela ordenada por Nome.
Concorda que ?:
Primeiro ele vai classificar seus 5,5 milhões de registros, depois vai pesquisar todos os valores até chegar ao Centézimo e aà sair fora.. E se o Centézimo estiver na Letra "Z" ?
Talvez fosse o caso de classificar por valor (o que não vai garantir muita coisa), depois por nome. Talvez fosse o caso de não usar o Like porque neste caso, mesmo indexando por valor adiantaria, pois o Like não dá bola para o Ãndice.
Enfim, precisaria estudar mais a situação, mas parece que está "cheirando" um select mal elaborado.
Enfim, precisaria saber como é sua Base de Dados.
Vale apenas como dica...
Doido:
Tem certeza de que o Like é no campo de Valor ?
Tem certeza de que o Like é no campo de Valor ?
Doido.
Desculpe. Falha minha. o like é no campo Nome...
Desculpe. Falha minha. o like é no campo Nome...
Tópico encerrado , respostas não são mais permitidas