BANCO SQL EXPRESS X ACCESS
Pessoal, Boa noite!
Tenho uma aplicação em VB onde utilizo o Banco Access. sendo que ultimamente esta ficando muito lento o acesso ao banco devido a quantidade de registros.
Migrando para SQL Express, em quantos % resolve o problema de lentidao? Acredito que realmente fique bem mais rapido o acesso
Obrigado!
Tenho uma aplicação em VB onde utilizo o Banco Access. sendo que ultimamente esta ficando muito lento o acesso ao banco devido a quantidade de registros.
Migrando para SQL Express, em quantos % resolve o problema de lentidao? Acredito que realmente fique bem mais rapido o acesso
Obrigado!
Isso vai depender muito de como sua aplicação está construÃda. Geralmente tem uma melhora sim, mas se a estrutura [Ô]não estiver lá essas coca colas[Ô], não vai adiantar muito.
A única vantagem mesmo tendo uma estrutura ruim, é que se o servidor for muito bom, vai ter uma certa melhora.
Claro haverá uma pequena melhora sim, mas o principal ponto é o leque de possibilidades que aumentará significativamente, umas destas possibilidades é criação de procedures que deixa a cargo do banco o processamento de consultas, inserções, etc. isso sem contar que daqui a pouco o banco access atingindo certo limite começa a se corromper.
existem outros fatores para melhorar o desempenho que deverão ser levados em conta, estrutura do banco, forma de abertura do mesmo etc, etc.
existem outros fatores para melhorar o desempenho que deverão ser levados em conta, estrutura do banco, forma de abertura do mesmo etc, etc.
e se eu nao me engano o SQL Express por ser gratuito suporta até 2GB de dados.....
MSDE era 2gb, SQLExpress é 4gb até o 2008 e 10gb a partir do 2008 R2 se não me engano, e se precisar de mais do que isso eu diria que seria o ideal pensar em migrar para a versão paga, e a migração é muito simples, não muda nada no programa além da string de conexão
Caro EMANUEL, qual o tamanho em MB do seu banco? E qual a quantidade de registros da sua maior tabela?
Muitas vezes o problema de lentidão está relacionado com a estrutura da tabela, relacionamentos, e programação.
Vou dar um exemplo [ô]bobo[ô] mas que acontece com frequencia:
- Cria um sistema de vendas para uma loja. No inicio a tabela de produto só tem 50 produtos e como é rapido você carrega num combobox. Mas o cliente amplia o leque e hoje tem 5000 produtos.
A demora pra carregar o comboBox vai ser tanta que parecerá que o programa está lento. Mas na verdade é o volume que está sendo mal gerenciado.
Muitas vezes o problema de lentidão está relacionado com a estrutura da tabela, relacionamentos, e programação.
Vou dar um exemplo [ô]bobo[ô] mas que acontece com frequencia:
- Cria um sistema de vendas para uma loja. No inicio a tabela de produto só tem 50 produtos e como é rapido você carrega num combobox. Mas o cliente amplia o leque e hoje tem 5000 produtos.
A demora pra carregar o comboBox vai ser tanta que parecerá que o programa está lento. Mas na verdade é o volume que está sendo mal gerenciado.
Caro EMANUEL
Sim a uma melhoras significativo principalmente quando no access já ultrapassa os 100 MB de dados.
O principal problema esta na forma de acesso que faz nas tabelas, quando Seleciona inseri, atualiza e deleta registros..........
é preciso analizar sua estrutura de acesso aos dados...................
ADO.NET - Objetos Command
Os objetos Command são usados para executar declarações SQL e procedimentos armazenados (stored procedures). Os métodos usados para realizar estas tarefas são :
ExecuteReader - executa declarações SQL que retornam linhas de dados, tais como SELECT
ExecuteNonQuery - executa declarações SQL que não retornam dados , tais como INSERT , UPDATE , DELETE e SET
ExecuteScalar - retorna um valor único como resultado de uma função agregada : SUM , AVG , COUNT , MAX E MIN.
Outro muito bom mesmo e que tem uma atençã oespecial na disposição do cosntrutor é
Objetos DataReader
Para receber e manipular os dados retornados pelos métodos, usar os objetos DataReader : OledbDataReader e SqlDataReader.
As propriedades e métodos mais usadas dos objetos DataReader são :
FieldCount - informa o número de colunas da linha de dados atual
IsClosed - Indica se o objeto DataReader esta fechado.
RecordsAffected - especifica o número de linhas alteradas , excluÃdas ou incluÃdas na execução de uma declaração SQL
Item (n) - obtêm o valor da n-ésima coluna no seu formato nativo.
Close - Método que fecha o objeto
GetName - Método que retorna o nome da n-ésima coluna.
Read - método que permite ao DataReader avançar para o próximo registro
IsDbNull - método que informa se a n-ésima coluna possui um valor nulo.
Só lembramdo que existe muitas formas de acesso a fonte de dados estou apenas exemplificando...........
Antes de modificar sua fonte de dados dê uma olhada na forma de como você esta acessando a mesma pois estes são alguns dos vilões que torna lenta sua aplicação.
Isso é um pequeno exemplo de cuidado ao criar seus acessos a fonte de dados................
Boa Sorte
Sim a uma melhoras significativo principalmente quando no access já ultrapassa os 100 MB de dados.
O principal problema esta na forma de acesso que faz nas tabelas, quando Seleciona inseri, atualiza e deleta registros..........
é preciso analizar sua estrutura de acesso aos dados...................
ADO.NET - Objetos Command
Os objetos Command são usados para executar declarações SQL e procedimentos armazenados (stored procedures). Os métodos usados para realizar estas tarefas são :
ExecuteReader - executa declarações SQL que retornam linhas de dados, tais como SELECT
ExecuteNonQuery - executa declarações SQL que não retornam dados , tais como INSERT , UPDATE , DELETE e SET
ExecuteScalar - retorna um valor único como resultado de uma função agregada : SUM , AVG , COUNT , MAX E MIN.
Outro muito bom mesmo e que tem uma atençã oespecial na disposição do cosntrutor é
Objetos DataReader
Para receber e manipular os dados retornados pelos métodos, usar os objetos DataReader : OledbDataReader e SqlDataReader.
As propriedades e métodos mais usadas dos objetos DataReader são :
FieldCount - informa o número de colunas da linha de dados atual
IsClosed - Indica se o objeto DataReader esta fechado.
RecordsAffected - especifica o número de linhas alteradas , excluÃdas ou incluÃdas na execução de uma declaração SQL
Item (n) - obtêm o valor da n-ésima coluna no seu formato nativo.
Close - Método que fecha o objeto
GetName - Método que retorna o nome da n-ésima coluna.
Read - método que permite ao DataReader avançar para o próximo registro
IsDbNull - método que informa se a n-ésima coluna possui um valor nulo.
Só lembramdo que existe muitas formas de acesso a fonte de dados estou apenas exemplificando...........
Antes de modificar sua fonte de dados dê uma olhada na forma de como você esta acessando a mesma pois estes são alguns dos vilões que torna lenta sua aplicação.
Isso é um pequeno exemplo de cuidado ao criar seus acessos a fonte de dados................
Boa Sorte
Tópico encerrado , respostas não são mais permitidas