TABELA ENORME E LENTA PARA MANIPULAR [TRATAMENTO]
tenho uma tabela de mini-supermercado que tá muito lento para se trabalhar com ela.
tenho um pdv onde vou passando todos os produtos da venda... a medida que vou passando os produtos, ele vai adicionando na tabela PEDIDO_ITENS.
então cada produto que passo no leitor de cód de barra, ele registra nessa tabela... hoje essa tabela tá com 163.530 registros
então quando quero passar um produto no pdv ele demora muito para registrar na tabele e exibir no grid..
obs:
-Não uso chave primária nessa tabela
CAMPOS TIPO DE CAMPO
CODIGO long
COD_PEDIDO long
COD_PRODUTO long
DESCRIÇÃO text
PRECO currency
QUANT double
TOTAL currency
Uso banco de dados Access e DAO 3.60
o que devo fazer para agiliar o precesso de inserção e consulta dos dados?
tenho um pdv onde vou passando todos os produtos da venda... a medida que vou passando os produtos, ele vai adicionando na tabela PEDIDO_ITENS.
então cada produto que passo no leitor de cód de barra, ele registra nessa tabela... hoje essa tabela tá com 163.530 registros
então quando quero passar um produto no pdv ele demora muito para registrar na tabele e exibir no grid..
obs:
-Não uso chave primária nessa tabela
CAMPOS TIPO DE CAMPO
CODIGO long
COD_PEDIDO long
COD_PRODUTO long
DESCRIÇÃO text
PRECO currency
QUANT double
TOTAL currency
Uso banco de dados Access e DAO 3.60
o que devo fazer para agiliar o precesso de inserção e consulta dos dados?
usa a pesquisa em sql
tanto a inserção como a pesquisa são em SQL
Na parte de código... tá bom, tanto que pedi que 4 pessoas avaliassem o projeto e não virão erros nos código que deixasse lento
Na parte de código... tá bom, tanto que pedi que 4 pessoas avaliassem o projeto e não virão erros nos código que deixasse lento
vc tá inserindo na tabela um item do pedido e em seguida faz uma consulta pra carregar o grid com o novo produto lançado + os anteriores? se for isso, vai ter que cancelar essa consulta e lançar na grade outra forma.
é justamente isso q faço
toda vez q adiciona ou removo um registro do pedido, ele refaz a consulta e preenche o grid
como devo fazer entao?
toda vez q adiciona ou removo um registro do pedido, ele refaz a consulta e preenche o grid
como devo fazer entao?
Esse era um problema que tinha com access, mesmo se utilizasse o Select bonitinho e filtrando certinho ficava lento pra carregar, só havia uma saÃda, o cliente trocar o processador da máquina (Tipo Core2Duo ou superior).
Mas resolvi então apostar em outro banco de dados: PostgreSQL cuja conversão é fácil e não precisa alterar muito o código fonte, cara resolveu meu problema muito e agora com Celeron consigo fazer o sistema trabalhar rapido.
Segue ai uma sugestão.
Att
Mas resolvi então apostar em outro banco de dados: PostgreSQL cuja conversão é fácil e não precisa alterar muito o código fonte, cara resolveu meu problema muito e agora com Celeron consigo fazer o sistema trabalhar rapido.
Segue ai uma sugestão.
Att
Crie uma classe que represente o Ãtem do pedido e uma que representa o pedido. Na que representa o pedido, crie uma propriedade que será uma coleção de Ãtens. Ao invés de inserir na tabela toda a vez, insira na classe, e só depoi na finalização, insira na tabela.
Primeiro vc lança os itens no Grid, e na hora de gravar o pedido vc grava os itens do grid na sua tabela. Bem mais simples e fácil do que ficar lançando, gravando e consultando um por um.
Ou então, coloque os itens em um arquivo texto a medida que lança e remove da grade. Muitos fazem isso em PDV de supermercado, pois como os itens vão passando e sendo empacotados, e se ocorrer uma falha no sistema, ao reiniciar o PDV é só fazer o reload pelo arquivo, e evita transtorno com o cliente que teria que desempacotar os itens.
Tópico encerrado , respostas não são mais permitidas