Jump to content
Fivewin Brasil

Arquivo Auxiliar - Lentidao (Resolvido)


Erciley Junior

Recommended Posts

Boa tarde,

estou tendo problema em um programa que estou fazendo..

seguinte:

Criei um arquivo auxiliar, e 2 índices

Na fase que estou, estou com DBSETORDER(01) (ou seja, não estou usando o segundo índice)

na minha máquina, demora 3 a 4 segundos para processar 150 registros

Em outra máquina, é processado instataneamente 150 registros

Se eu removo o segundo índice do meu programa, o processamento de 150 registros, passa a ser instantaneo na minha máquina, igualmente na OUTRA maquina.

Alguém tem idéia do que pode ser?

Bom, não é erro de código, não é erro de lógica, por algum motivo, pelo fato de existir um segundo índice apenas, que nem está sendo usado, gera essa lentidão.... gera lentidao no meu pc, acessando dados locais, e em outro pc, acessando dados locais, não.

Erciley Junior (FWH8.01 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY)

NÃO ABANDONE O POST, QUEREMOS SABER SE SUA DÚVIDA/PROBLEMA TEVE SOLUÇÃO

Editado por - eco_fw on 28/02/2012 15:28:29

Link to comment
Share on other sites

Boa tarde,

estou tendo problema em um programa que estou fazendo..

seguinte:

Criei um arquivo auxiliar, e 2 índices

Na fase que estou, estou com DBSETORDER(01) (ou seja, não estou usando o segundo índice)

na minha máquina, demora 3 a 4 segundos para processar 150 registros

Em outra máquina, é processado instataneamente 150 registros

Se eu removo o segundo índice do meu programa, o processamento de 150 registros, passa a ser instantaneo na minha máquina, igualmente na OUTRA maquina.

Alguém tem idéia do que pode ser?

Bom, não é erro de código, não é erro de lógica, por algum motivo, pelo fato de existir um segundo índice apenas, que nem está sendo usado, gera essa lentidão.... gera lentidao no meu pc, acessando dados locais, e em outro pc, acessando dados locais, não.

Erciley Junior (FWH8.01 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY)

NÃO ABANDONE O POST, QUEREMOS SABER SE SUA DÚVIDA/PROBLEMA TEVE SOLUÇÃO

Editado por - eco_fw on 28/02/2012 15:28:29

Link to comment
Share on other sites

Olá,

1ªmente, qual tipo de índice ?

2ªmente, como vc sabe se não está usando o índice ?

3ªmente, qual o processo que está fazendo ?

4ªmente, Qual o seu Processador e qual o Processador da outra mqna ?

Vagner Wirts

bgprofilea.jpg

"Ele não sabendo que era impossível, foi lá e fez"

Link to comment
Share on other sites

Olá ^^

1ªmente, qual tipo de índice ?

NTX

2ªmente, como vc sabe se não está usando o índice ?

Eu sei pois eu fiz a rotina, huahuahua.

3ªmente, qual o processo que está fazendo ?

Estou lendo registros de lançamentos contábeis, e incluindo nesse arquivo auxiliar, após isso, leio todo o arquivo auxiliar para encontrar duplicidades em uma chave X, essa chave X é o índice 01, o índice 02 seria usado posteriormente.

4ªmente, Qual o seu Processador e qual o Processador da outra mqna ?

Core 2 Duo E8400 3Ghz 2Gb RAM contra Core i3 3Ghz 2GB RAM ^^

5ªmente 3 a 4 segundos homi se preocupa com isso nao

Bom, são 3 a 4 segundos em 150 registros, mas estou agrupando mais de 300.000 (trezentos mil) registros ^^, aí você põe no lápis para saber se fará ou não diferença ^^

EDIT*-------------------------

Vou alterar o índice para CDX para ver o que ocorre, mas mesmo assim, ainda gostaria de saber que what hell tá acontecendo ^^

Erciley Junior (FWH8.01 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY)

NÃO ABANDONE O POST, QUEREMOS SABER SE SUA DÚVIDA/PROBLEMA TEVE SOLUÇÃO

Editado por - eco_fw on 24/02/2012 12:48:44

Link to comment
Share on other sites

Olha que maravilha, mudei para DBFCDX, não ocorreu mais o problema....

só que o problema agora será eu desvendar e/ou ficar enchendo o saco para descobrir o que está ocorrendo com o NTX MTF

MTF é um chingamento ^^

Erciley Junior (FWH8.01 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY)

NÃO ABANDONE O POST, QUEREMOS SABER SE SUA DÚVIDA/PROBLEMA TEVE SOLUÇÃO

Editado por - eco_fw on 24/02/2012 12:57:47

Editado por - eco_fw on 24/02/2012 12:58:08

Link to comment
Share on other sites

Todos índices abertos, são atualizados pela linguagem quando algum campo chave é modificado, ou seja, independe do DBSETORDER ou RDD. Uma chave muito complexa, pode tornar lento, qual é a chave ?

Teste com alguns milhares de registros, as vezes é natural diferenças de segundos, mesmo sendo a mesma máquina, etc.

Link to comment
Share on other sites

Provavelmente Eric, não tinha me atendado a isso...

Vou resumir:

Indice01 = campo01+campo02+campo03+campo04

Indice02 = campo99

Nesse processamento, estou usando Indice01, e atualizo o campo50 e o campo99 apenas, então como você disse, estou atualizando o Indice02, gerando essa lentidão, talvez.

Mas ficou no ar então, o porque a máquina02 não teve essa perca de performance? Tá, é um Core i3, mas não tem tanta diferença assim.

Meu PC é WinXP e pc02 é Win7.

Processamento com "erro": Cerca de 20 minutos

Processamento sem "erro": Exatamente 1 minuto e 28 segundos.

Erciley Junior (FWH8.01 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY)

NÃO ABANDONE O POST, QUEREMOS SABER SE SUA DÚVIDA/PROBLEMA TEVE SOLUÇÃO

Link to comment
Share on other sites

Olha o Luisão ae, o garoto que fica a 1 metro e meio de mim ^^

Está exclusivo, vou alterar e já posto o resultado (irei retornar o índice para NTX para ver)

Erciley Junior (FWH8.01 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY)

NÃO ABANDONE O POST, QUEREMOS SABER SE SUA DÚVIDA/PROBLEMA TEVE SOLUÇÃO

Link to comment
Share on other sites

Também não gosto de mexer nos sistemas DBF, mas..... ^^

Relatório:

citação:***************

MODE NOT SHARED

***************

DBCREATE passando CDX

DBUSEAREA passando CDX

Criei ìndice CDX

não tive problema no processamento

DBCREATE passando CDX

DBUSEAREA passando CDX

Criei ìndice NTX

não deu erro (perceba NTX e CDX)

não tive problema no processamento

DBCREATE passando NTX

DBUSEAREA passando NTX

Criei ìndice NTX

TIVE problema no processamento

***********

MODE SHARED

***********

DBCREATE passando NTX

DBUSEAREA passando NTX

Criei ìndice NTX

TIVE problema no processamento

DBCREATE passando CDX

DBUSEAREA passando CDX

Criei ìndice CDX

não tive problema no processamento


id=quote>id=quote>

Erciley Junior (FWH8.01 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY)

NÃO ABANDONE O POST, QUEREMOS SABER SE SUA DÚVIDA/PROBLEMA TEVE SOLUÇÃO

Link to comment
Share on other sites

citação:

Quando tenho que fazer programa em DBF dá até um desânimo... Acho que fiz um só esse ano, que eu me lembro (ainda bem ^^)

--

Luis Fernando Jr. (Luisão)

FWH8.01 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY


id=quote>id=quote>

Eu trabalho com o Dbf, desde o primeiro, e não vejo desvantagens nele, tanto é que ele está ativo até hoje icon_smile_big.gif

Vagner Wirts

bgprofilea.jpg

"Ele não sabendo que era impossível, foi lá e fez"

Link to comment
Share on other sites

citação:

citação:

Quando tenho que fazer programa em DBF dá até um desânimo... Acho que fiz um só esse ano, que eu me lembro (ainda bem ^^)

--

Luis Fernando Jr. (Luisão)

FWH8.01 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY


id=quote>id=quote>

Eu trabalho com o Dbf, desde o primeiro, e não vejo desvantagens nele, tanto é que ele está ativo até hoje icon_smile_big.gif

Vagner Wirts

bgprofilea.jpg

"Ele não sabendo que era impossível, foi lá e fez"


id=quote>id=quote>

pct32.gif

pct21.gif

João Santos - São Paulo.

joao@pleno.com.br

Fone: (11) 3106-2832

http://pt-br.facebook.com/people/Jo%C3%A3o-Santos/100001195894196

FWH 2.7 - xHARBOUR WorkShop.Exe

Link to comment
Share on other sites

citação:

citação:

Quando tenho que fazer programa em DBF dá até um desânimo... Acho que fiz um só esse ano, que eu me lembro (ainda bem ^^)

--

Luis Fernando Jr. (Luisão)

FWH8.01 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY


id=quote>id=quote>

Eu trabalho com o Dbf, desde o primeiro, e não vejo desvantagens nele, tanto é que ele está ativo até hoje icon_smile_big.gif

Vagner Wirts

bgprofilea.jpg

"Ele não sabendo que era impossível, foi lá e fez"


id=quote>id=quote>

Oloco Vagner, não vê desvantagens ? Você já usou algum tipo de SGBD né ? (espero que sim icon_smile_big.gif)

Não to falando que DBF não serve para nada, mas fazer um programa em DBF e outro em SQL, não tem nem comparação. Você mesmo disse, índices corrompidos. O problema que o Erciley teve agora não aconteceria com MySQL. DBF tem índices, mas não tem chave primária (não que eu saiba), então para evitar código repetido o que você deve fazer ? Verificar se ele já existe no arquivo via programação. DBF não tem chave estrangeira (de novo, não que eu saiba, nunca usei). Fora milhões de outras funcionalidades que só um SGBD pode oferecer (controle de permissões, por exemplo).

Sério, sua opinião aqui no fórum é uma das que eu mais levo a sério (pois pelas suas postagens vejo que você entende muito dos assuntos que você opina), mas não tem como comparar um SGBD com DBF. Não no cenário atual pelo menos.

Com DBF, quanto tempo você levaria para me fazer um levantamento de todos os clientes que compraram em 2012 o produto X e qual foi a forma de pagamento desses pedidos ?

Com SQL é rapidinho icon_smile_big.gif

--

Luis Fernando Jr. (Luisão)

FWH8.01 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY

Link to comment
Share on other sites

citação:Sério, sua opinião aqui no fórum é uma das que eu mais levo a sério
id=quote>id=quote>

huahua..... isso é vdd, pois:

Linguagem games: tem alguns que parecem estar jogando CS, só querem fazer FRAG

Linguagem ECO e EBL: tem alguns que parecem só postar pra ganhar estrelinhas no fórum ^^

Linguagem internautas: tem alguns que parecem gostar de ver várias páginas no tópico, só querem fazer SPAM

parei... e cutukei (hãn hãn) ^^

Erciley Junior (FWH8.01 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY)

NÃO ABANDONE O POST, QUEREMOS SABER SE SUA DÚVIDA/PROBLEMA TEVE SOLUÇÃO

Link to comment
Share on other sites

Sinto muito aos dois,

Não quero comparar, não disse que o BD, é ruim, o problema maior do DBF é não saber trabalhar com ele, eu não tenho corrupção de índices icon_smile_big.gif, a muiiiitos anos, ou seja se vc têm corrupção de índices, o problema é de programação, e não do índice em sí, com certeza alguma coisa vc (Programador) vez errado, e gerou a corrupção icon_smile_big.gif.

Quanto a sua pergunta :

"Com DBF, quanto tempo você levaria para me fazer um levantamento de todos os clientes que compraram em 2012 o produto X e qual foi a forma de pagamento desses pedidos ?"

Se eu tiver um arquivo com os índices corretamente montados, um OrdScope(), vc nem vé isso acontecer, ou seja é imediato icon_smile_wink.gif

Por isso quando eu perguntei ao Eco_Fw se ele realmente sabia se o índice não estava sendo usado, era por causa da resposta que o Eric colocou logo após

Se vc abre um arquivo, NTX, não dá para usar com tag, então precisa abrir um a um. Isso realmente faria com que só abrisse um, o que iria ocasionar um corruption, assim que abrissem os dois juntos icon_smile_wink.gif

Com Cdx. Isso não ocorreria, porém como já postei aqui várias vezes, precisa sempre mudar o índice na hora de gravar para não dar problemas icon_smile_wink.gif

P.S.:

Programar é ARTE e não Facilidade icon_smile_big.gif

Vagner Wirts

bgprofilea.jpg

"Ele não sabendo que era impossível, foi lá e fez"

Link to comment
Share on other sites

Hehehe, você deve ter trabalhado com DBF mais tempo que eu tenho de vida icon_smile_big.gif

Mas brincadeiras a parte, bom, esse lance de índices corrompidos não pode ocorrer por conta de falha na rede ou então usuário interrompendo processamentos finalizando o programa pelo gerenciador de tarefas ?

Sobre o DBF em específico, desde quando entrei na empresa existem erros de índices corrompidos (não porque eu entrei, já existiam antes =P), então devo ter aprendido da forma errada, hehehehe...

Você disse que o DBF tá vivo até hoje, mas faz tempo que ele não sai da cama então, nem tá mais andando para acompanhar o resto, hauhauhaua. icon_smile_big.gif

Bom, de qualquer forma, eu só uso sistema de dados baseado em arquivos quando não tem outra escolha (aqui na empresa temos muitos sistemas em DBF, não dá pra converter tudo).

E sobre a "tarefa" que propus, fiquei curioso, queria ver um exemplo, se possível. Clientes, Pedidos, Plano de Pagamento, Produtos e Itens do Pedido são tabelas diferentes, o OrdScope() resolveria isso ? Me desculpe, é que nunca usei o OrdScope (não que me lembre, hauhauhauA)

--

Luis Fernando Jr. (Luisão)

FWH8.01 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY

Link to comment
Share on other sites

citação:Sinto muito aos dois
id=quote>id=quote>

não entendi pq me englobou no comentário, eu apenas concordei com o Luisão referente que você dá opiniões úteis, ao contrário de algumas pessoas que postam qq coisa, só para fazer volume, traduzinho toda a brincadeira que fiz.

Referente a corrupção de índice, meu problema não foi esse, e nem em fazer atualização em campo do índice ativo.

Sei trabalhar bem com DBF, pelo menos tudo que me foi proposto não fiquei devendo em nada, nem o DBF ficou devendo em algo necessário a ser feito, mas concordo com o Luisão que um myslq por exemplo, nem se deve comparar com DBF, seria colocar um Uninho 95 1.0 original, sem preparação, para arrancar com uma Ferrari V12.

Achei que você quis dar uma "pitada" na gente, mas não acho que seja o caso agora, pois concorde ou não, o mysql nesse caso, é realmente muito superior do que o DBF realmente, pelo menos eu, já fiz tudo que um programa em DBF é capaz de fazer com mysql, mas o contrário não é verdade, não com a eficiência e rapidez, pelo menos.

Erciley Junior (FWH8.01 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY)

NÃO ABANDONE O POST, QUEREMOS SABER SE SUA DÚVIDA/PROBLEMA TEVE SOLUÇÃO

Link to comment
Share on other sites

citação:

Hehehe, você deve ter trabalhado com DBF mais tempo que eu tenho de vida icon_smile_big.gif


id=quote>id=quote>

Bem provavelmente icon_smile_wink.gif

citação:

Mas brincadeiras a parte, bom, esse lance de índices corrompidos não pode ocorrer por conta de falha na rede ou então usuário interrompendo processamentos finalizando o programa pelo gerenciador de tarefas ?


id=quote>id=quote>

Não, a não ser que você esteja desligando o Servidor, que é onde os arquivos estão instalados... humm, acho que o mesmo aconteceria no DB, só que com o DBF, só mataria o aquivo em questão, pois não ficam todos juntos num único DB alocados como Tabelas.

Para vc ter uma idéia, aqui o pessoal (UÇUÃRIO), desliga o micro com o programa aberto todo dia, não adianta falar icon_smile_big.gif

citação:

Você disse que o DBF tá vivo até hoje, mas faz tempo que ele não sai da cama então, nem tá mais andando para acompanhar o resto, hauhauhaua. icon_smile_big.gif


id=quote>id=quote>

Por que mexer em algo que funciona a décadas, a contento ? icon_smile_wink.gif

citação:

E sobre a "tarefa" que propus, fiquei curioso, queria ver um exemplo, se possível. Clientes, Pedidos, Plano de Pagamento, Produtos e Itens do Pedido são tabelas diferentes, o OrdScope() resolveria isso ? Me desculpe, é que nunca usei o OrdScope (não que me lembre, hauhauhauA)


id=quote>id=quote>

Com o Dbf, vc pode criar índices com variáveis que estão em outros arquivos, sem problema algum icon_smile_big.gif, e com o OrdScope() (tente usar, vc está perdendo tempo, fazendo de outro jeito icon_smile_wink.gif), não importa que vc tenha vários bancos, basta usar o Ordscope em cada banco, depois vou colocar uma imagem aqui para vc ver icon_smile_wink.gif, eu no cadastro de cliente, tenho um monte de folder, cada um para uma coisa específica e todo com o OrdScope, inclusive vários arquivos, e alguns com o mesmo arquivo, vc não vê a diferençaicon_smile_wink.gif

citação:

Luis Fernando Jr. (Luisão)

FWH8.01 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY


id=quote>id=quote>

A gente aprende coisas todos os dias não é ? icon_smile_wink.gif

Vagner Wirts

bgprofilea.jpg

"Ele não sabendo que era impossível, foi lá e fez"

Link to comment
Share on other sites

citação:

citação:Sinto muito aos dois
id=quote>id=quote>

não entendi pq me englobou no comentário, eu apenas concordei com o Luisão referente que você dá opiniões úteis, ao contrário de algumas pessoas que postam qq coisa, só para fazer volume, traduzinho toda a brincadeira que fiz.

Referente a corrupção de índice, meu problema não foi esse, e nem em fazer atualização em campo do índice ativo.

Sei trabalhar bem com DBF, pelo menos tudo que me foi proposto não fiquei devendo em nada, nem o DBF ficou devendo em algo necessário a ser feito, mas concordo com o Luisão que um myslq por exemplo, nem se deve comparar com DBF, seria colocar um Uninho 95 1.0 original, sem preparação, para arrancar com uma Ferrari V12.

Achei que você quis dar uma "pitada" na gente, mas não acho que seja o caso agora, pois concorde ou não, o mysql nesse caso, é realmente muito superior do que o DBF realmente, pelo menos eu, já fiz tudo que um programa em DBF é capaz de fazer com mysql, mas o contrário não é verdade, não com a eficiência e rapidez, pelo menos.

Erciley Junior (FWH8.01 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY)

NÃO ABANDONE O POST, QUEREMOS SABER SE SUA DÚVIDA/PROBLEMA TEVE SOLUÇÃO


id=quote>id=quote>

Calma,

Eu falei "sinto muito aos dois", pois os dois trabalham juntos icon_smile_wink.gif

E não falei que o MySql, seja ruim, como já disse anteriormente, só disse, que o DBF, não é ruim e sabendo trabalhar com ele não deixa a desejar icon_smile_wink.gif

Vagner Wirts

bgprofilea.jpg

"Ele não sabendo que era impossível, foi lá e fez"

Link to comment
Share on other sites

Hummm, agora lembrei de uma prática que pode corromper índices fácil fácil. Editar os registros de um DBF diretamente pelo DBU, sem abrir índices.

ECO, alguma coisa contra "Uninho 1.0 original" ? icon_smile_angry.gif

Bom, para finalizar, obrigado pelas dicas Vagner, eu li um post seu antigo dizendo os motivos da corrupção e acho que um deles ocorre aqui as vezes, que é o caso de não abrir todos os índices (acontece, infelizmente).

Mas não pense que somos mal programadores, se conhecesse nossa equipe você iria ver que somos bons, de verdade.icon_smile_cool.gif

--

Luis Fernando Jr. (Luisão)

FWH8.01 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY

Link to comment
Share on other sites

citação:

Hummm, agora lembrei de uma prática que pode corromper índices fácil fácil. Editar os registros de um DBF diretamente pelo DBU, sem abrir índices.

ECO, alguma coisa contra "Uninho 1.0 original" ? icon_smile_angry.gif

Bom, para finalizar, obrigado pelas dicas Vagner, eu li um post seu antigo dizendo os motivos da corrupção e acho que um deles ocorre aqui as vezes, que é o caso de não abrir todos os índices (acontece, infelizmente).

Mas não pense que somos mal programadores, se conhecesse nossa equipe você iria ver que somos bons, de verdade.icon_smile_cool.gif

--

Luis Fernando Jr. (Luisão)

FWH8.01 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY


id=quote>id=quote>

Hehehe

Com certeza eu sei que são bons programadores, vcs usam @ Say para programar icon_smile_wink.gif

telaclientes.png

Vagner Wirts

bgprofilea.jpg

"Ele não sabendo que era impossível, foi lá e fez"

Link to comment
Share on other sites

citação:

citação:

Hummm, agora lembrei de uma prática que pode corromper índices fácil fácil. Editar os registros de um DBF diretamente pelo DBU, sem abrir índices.

ECO, alguma coisa contra "Uninho 1.0 original" ? icon_smile_angry.gif

Bom, para finalizar, obrigado pelas dicas Vagner, eu li um post seu antigo dizendo os motivos da corrupção e acho que um deles ocorre aqui as vezes, que é o caso de não abrir todos os índices (acontece, infelizmente).

Mas não pense que somos mal programadores, se conhecesse nossa equipe você iria ver que somos bons, de verdade.icon_smile_cool.gif

--

Luis Fernando Jr. (Luisão)

FWH8.01 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY


id=quote>id=quote>

Hehehe

Com certeza eu sei que são bons programadores, vcs usam @ Say para programar icon_smile_wink.gif

telaclientes.png

Vagner Wirts

bgprofilea.jpg

"Ele não sabendo que era impossível, foi lá e fez"


id=quote>id=quote>

Sarcasmo ou você usa @SAY também ?

--

Luis Fernando Jr. (Luisão)

FWH8.01 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...