DICAS SQL

AMELORP 22/12/2010 10:55:27
#360179
Alguem poderia me ajudar quanto aos comando sql (utilizo sql server 2000)...
1) Tenho uma tabela com controle de usuario por ela, mas todos esses da tabela usam o mesmo usuario do banco no caso [ô]sa[ô]...seria recomendável criar um usuario no banco pra cada um? performance melhoraria?
2) é melhor usar as cláusulas UPDATE, INSERT, DELETE ou usar o metodo ADO?
3) No meu sistema (que é escolar) para gerar os boletins o sistema calcula as medias de cada bimestre no moimento de gerar os boletins e noto que o sistema fica lento para os outros usuarios da rede exatamente no momento que esta gerando os boletins, exemplo: funcionario da tesouraria nota op sistema lento..o que eu poderia fazer pra melhorar isso?


Se alguem puder responder essas perguntas agradeceria muito...sou auto-didata e aprendi tudo na marra mesmo...mas percebo que precisaria de mais tecnicas pra otimizar o meu sistema...obrigado!
LLAIA 22/12/2010 12:04:34
#360182
1) Não tenho experiência com sql server, não posso te dá uma resposta efetiva. Aguarde mais um pouco que outros amigos aqui irão ajudar.

2) Nunca notei muita diferença não, até porque num sgbd o processamento de queries é centrado no servidor onde está o banco.

3) Aí depende muito de como estão sendo feito as queries, o algoritmo, modelagem, configuração do servidor etc. Voc poderia postar seu algoritmo?
JOAOBENEVIDES 22/12/2010 12:26:58
#360184
1) no meu caso eu deixo o usuario sa somente para os programadores e criou outro usuario para para o restante
2)tambem como nosso amigo nunca noitei a diferencao
3) depedendo do server pode ocorrer isto , tenho um server na localweb e vejo que quando fazia alguns processores durante o dia meu sistema ficava lento ai colocaquei este processores para fazer anoite os usuarios pararam de me atormentar tambem trabalho com sistema escolar(como vc).

qualquer duvida posta ai
MARCOSLING 22/12/2010 13:35:35
#360193
A minha opnião é a seguinte:

1 - se vc usar um usuário de servidor, vc tem um pouco mais de segurança (se usado com segurança integrada do windows) e possibilidade de individualizar restrições de acesso e monitoramento.
2 - Existe sim diferença de performance. Quando usamos métodos, os comandos são convertidos internamente para Insert, Updade ou Delete, pois o banco só entende comandos SQL.
3 - Vai depende da sua infraestrutura, modelagem do banco, boas práticas, etc.

Acho que é isso.
FFCOUTO 23/12/2010 12:34:19
#360286

1) O usuário [ô]sa[ô] é o SuperAdministrador do SQL ele tem permissão total, então crie um usario para cada pessoa que vai usar o sistema. Como o MarcosLing disse.

2) O uso de comandos sql é mais indicado do que os controles data da vida.

3) Repense a sua lógica. De fato a lentidão vai existir. Aqui tenho um sistema para gerar inventário de estoque e quando usamos (1 vez por mês) o acesso fica comprometido.
Você pode simplesmente calcular as médias na hora do lançamento das notas.
TFPEROZINI 25/01/2011 15:35:56
#363391
1 - a performance da rotina não será modificada.
2- se possível criar StoredProcedure para a operaçoes. Toda instrução SQL quando vai para o banco, este compila e cria o plano de execução em toda chamada. Já para procedures o plano de execução é criado uma unica vez.
3 - crie uma procedure para gerar estes boletins, utilizar o comando (nolock) na frente das tabelas relacionadas para que não trave as tabelas. Caso possível utilizar os diso ditos anteriormente e criar uma rotina batch para ser executada fora do horário de expediente não criando concorrência com o pessoal que opera o sistema.

Fico a disposição.
Tópico encerrado , respostas não são mais permitidas