Indices temporários, duvidas
Moderador: Moderadores
Indices temporários, duvidas
Pessoal,
Alguém saberia me dizer qual é a diferença entre TEMPORARY E MEMORY :
ex.: INDEX ON CHAVE TAG CHAVE MEMORY
ou INDEX ON CHAVE TAG CHAVE TEMPORARY
Alguém saberia me dizer qual é a diferença entre TEMPORARY E MEMORY :
ex.: INDEX ON CHAVE TAG CHAVE MEMORY
ou INDEX ON CHAVE TAG CHAVE TEMPORARY
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Indices temporários, duvidas
Qual tipo de RDD esta usando? Eu usei o TEMPORARY com NTX e notei um ganho significante. Usei com CDX e não notei o mesmo ganho. Não sei se é aceita em qualquer RDD esta clausula.
Quando tentei usar o MEMORY deu erro.
Notei que ao usar o TEMPORARY, é criado um "resultado" a parte, ou seja, no DBF eu tinha 2 indices e abertos SET INDEX TO ind1,ind2 ao criar o temporario, nao consigo manter os 2 abertos, fica somente ele, o que ocasiona problema de atualização dos indices em caso de manipular o resultado fazendo alguma alteração nos dados e salvando.
Acho que fiz algo errado, mais foi esse resultado que obtive, tanto que desativei e voltei a usar o arquivo temporário físico, onde add ele no SET INDEX TO ind1, ind2, tmp1 para refletir as alterações em todos.
Ate+
Quando tentei usar o MEMORY deu erro.
Notei que ao usar o TEMPORARY, é criado um "resultado" a parte, ou seja, no DBF eu tinha 2 indices e abertos SET INDEX TO ind1,ind2 ao criar o temporario, nao consigo manter os 2 abertos, fica somente ele, o que ocasiona problema de atualização dos indices em caso de manipular o resultado fazendo alguma alteração nos dados e salvando.
Acho que fiz algo errado, mais foi esse resultado que obtive, tanto que desativei e voltei a usar o arquivo temporário físico, onde add ele no SET INDEX TO ind1, ind2, tmp1 para refletir as alterações em todos.
Ate+
Indices temporários, duvidas
Andril,
No meu caso é CDX agora um temporário em memória é um CDX ?
Continuo querendo saber TEMPORARY X MEMORY qual a diferença?
No meu caso é CDX agora um temporário em memória é um CDX ?
Continuo querendo saber TEMPORARY X MEMORY qual a diferença?
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Indices temporários, duvidas
Compilando com -p para gerar o ppo
USE APM05 ALIAS APM05 NEW SHARED
INDEX ON ID_E_BCO TAG ID_E_BCO1 TEMPORARY
INDEX ON ID_E_BCO TAG ID_E_BCO2 MEMORY
PPO:
dbUseArea( .T.,, "APM05", "APM05", iif( .T. .OR. .F., ! .F., NIL ), .F. )
ordCondSet(,,,,,, RecNo(),,,,,,,,,,, .T.,, ) ; ordCreate(, "ID_E_BCO1", "ID_E_BCO", {|| ID_E_BCO}, ) // USANDO TEMPORARY
ordCondSet(,,,,,, RecNo(),,,,,,,,,,, .T.,, ) ; ordCreate(, "ID_E_BCO2", "ID_E_BCO", {|| ID_E_BCO}, ) // USANDO MEMORY
Alguma diferença?
USE APM05 ALIAS APM05 NEW SHARED
INDEX ON ID_E_BCO TAG ID_E_BCO1 TEMPORARY
INDEX ON ID_E_BCO TAG ID_E_BCO2 MEMORY
PPO:
dbUseArea( .T.,, "APM05", "APM05", iif( .T. .OR. .F., ! .F., NIL ), .F. )
ordCondSet(,,,,,, RecNo(),,,,,,,,,,, .T.,, ) ; ordCreate(, "ID_E_BCO1", "ID_E_BCO", {|| ID_E_BCO}, ) // USANDO TEMPORARY
ordCondSet(,,,,,, RecNo(),,,,,,,,,,, .T.,, ) ; ordCreate(, "ID_E_BCO2", "ID_E_BCO", {|| ID_E_BCO}, ) // USANDO MEMORY
Alguma diferença?
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Indices temporários, duvidas
Não vejo nenhuma diferença no seu PPO. Vendo o help do xHarbour embora eu utilize no momento Harbour 3.2, no comando INDEX não tem a clausula MEMORY e sim TEMPORARY, creio que a MEMORY faça parte de algum .CH de algum RDD.
Esta usando algum .CH para CDX?
Esta usando algum .CH para CDX?
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Indices temporários, duvidas
Andril,
Esse teste eu fiz com harbour 3.4, tanto faz TEMPORARY OU MEMORY o PPO não mostra diferenças.
Esse teste eu fiz com harbour 3.4, tanto faz TEMPORARY OU MEMORY o PPO não mostra diferenças.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Indices temporários, duvidas
Boa tarde, povo.
Leigamente falando, existe alguma vantagem em usar a cláusula MEMORY ou deixar de usá-la ??
Ou seja, qual vantagem há em usar INDEX ON CHAVE TAG CHAVE MEMORY em vez de simplesmente INDEX ON CHAVE TAG CHAVE
Grato
Leigamente falando, existe alguma vantagem em usar a cláusula MEMORY ou deixar de usá-la ??
Ou seja, qual vantagem há em usar INDEX ON CHAVE TAG CHAVE MEMORY em vez de simplesmente INDEX ON CHAVE TAG CHAVE
Grato
lugab
Indices temporários, duvidas
Lugab,
Se você não especificar TEMPORARY OU MEMORY vai ser criado o indice fisico CDX ou NTX
Se você não especificar TEMPORARY OU MEMORY vai ser criado o indice fisico CDX ou NTX
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Indices temporários, duvidas
Valeu, Asimoes.
Pra mim "MEMORY" é novidade. Uma ótima novidade aliás, pq dispensa o acesso a disco rígido e acelera o processo
Obrigado
Pra mim "MEMORY" é novidade. Uma ótima novidade aliás, pq dispensa o acesso a disco rígido e acelera o processo
Obrigado
lugab
Indices temporários, duvidas
Boa noite a todos...
Surgiu uma dúvida:
Ao finalizar o programa é necessário executar algum comando específico sobre o arquivo de índices gerado em memória,
para informar ao Windows que a área de memória que ele ocupou está livre para ser usada por outro aplicativo ou um Simples CLOSE DATA já faz isso ?
Surgiu uma dúvida:
Ao finalizar o programa é necessário executar algum comando específico sobre o arquivo de índices gerado em memória,
para informar ao Windows que a área de memória que ele ocupou está livre para ser usada por outro aplicativo ou um Simples CLOSE DATA já faz isso ?
lugab
Indices temporários, duvidas
DbCloseArea() ou DbCloseAll() já libera o indice da memória.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Indices temporários, duvidas
Só para complementar, se for necessário fechar o índice temporário sem ter que fechar o DBF, pode-se usar:
Abraços,
Código: Selecionar todos
OrdDestroy( "nome_do_arquico_temporario" )Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Indices temporários, duvidas
Pessoal, muito obrigado por tanta assistência...
Coloquei o paramêtro MEMORY e , realmente, o desempenho ficou excepcional
Parabéns e muito obrigado a todos
Coloquei o paramêtro MEMORY e , realmente, o desempenho ficou excepcional
Parabéns e muito obrigado a todos
lugab
Indices temporários, duvidas
Olá Pessoal,
Que sintaxe devo usar em "set index to" e "Orsdsetfocus" qndo há 2 ou mais índices temporários, como no exemplo a seguir ?
(qdo há apenas 1 nem precisa citar o "Set index to", nem o "Ordsetfocus")
Que sintaxe devo usar em "set index to" e "Orsdsetfocus" qndo há 2 ou mais índices temporários, como no exemplo a seguir ?
(qdo há apenas 1 nem precisa citar o "Set index to", nem o "Ordsetfocus")
Código: Selecionar todos
sele 200
use c:\Temp\saldflu exclusive alias Temp
zap
index on str(numcli,6) tag saldfluN Temporary
index on valor tag saldfluV Temporary
Set index to ????
....
....
Sele Temp
Ordsetfocus(????)
lugab
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Indices temporários, duvidas
O que geralmente se esquece é que arquivo temporário em rede é terrível.
Eu uso a pasta temporária do Windows, que não tem problema de acesso, e caso esqueça de apagar, tá no lugar certo.... rs
Como é arquivo local, é na velocidade do HD.
Quanto à outra questão, parece que são sinônimos.
Nota: se não me engano, de nada adianta acrescentar a cláusula se não adicionar referência no fonte, e a LIB
Eu uso a pasta temporária do Windows, que não tem problema de acesso, e caso esqueça de apagar, tá no lugar certo.... rs
Como é arquivo local, é na velocidade do HD.
Quanto à outra questão, parece que são sinônimos.
Código: Selecionar todos
#command INDEX ON <key> [TAG <(tag)>] TO <(bag)> ;
[FOR <for>] [WHILE <while>] [NEXT <next>] ;
[RECORD <rec>] [<rest:REST>] [<all:ALL>] ;
[EVAL <eval>] [EVERY <every>] [<unique: UNIQUE>] ;
[<ascend: ASCENDING>] [<descend: DESCENDING>] ;
[<add: ADDITIVE>] [<cur: USECURRENT>] [<cust: CUSTOM>] ;
[<noopt: NOOPTIMIZE>] [<mem: MEMORY, TEMPORARY>] ;
[<filter: USEFILTER>] [<ex: EXCLUSIVE>] => ;
ordCondSet( <"for">, <{for}>, [<.all.>], <{while}>, ;
<{eval}>, <every>, RecNo(), <next>, <rec>, ;
[<.rest.>], [<.descend.>],, ;
[<.add.>], [<.cur.>], [<.cust.>], [<.noopt.>], ;
<"while">, [<.mem.>], [<.filter.>], [<.ex.>] ) ;;
ordCreate( <(bag)>, <(tag)>, <"key">, <{key}>, [<.unique.>] )
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/

