CDX no GAS
Enviado: 06 Mar 2012 22:53
APos eliminar todos os DBT, comecei a fazer testes para usar os Indices CDX no Sistema em Gas pro..
Atualmente uso os NTX, pois os NSX estavam corrompendo (nao teve jeito), os NTX pelo menos funcionam..
Entao, quem conhece o GAS, sabe que tem a opcao de gerar fonte para Indexar em CDX,
ao gerar o fonte no programa principal, tava lá o request do cdx..
Rddsetdefault("dbfcdx")
Dbsetdriver("dbfcdx")
O que achei estranho foi a criacao dos indices, em outros sistemas harbour, feitos na unha, que rodam em CDX. apenas um arquivo é criado. onde todos os indices estao dentro, acho bom porque sao menos arquivos na rede.
No gas, o sistema cria como se fosse os ntx, um arq para cada indice.
exemplo: cli1.cdx cli2.cdx cli3.cdx para os 3 indices do cliente, em vez de cliente.cdx
O tamanho é menor cerca de 25 % do ntx,e para minha surpresa funciona.. desse jeito
nao testei no cliente ainda. mas parece certo..
Isso pode implicar em algo como perda de desempenho ? ou corrupcao.. ??
Alguem trabalha com CDX dessa maneira ?Vejam a funcao de indecao...(no gaspro para CDX)
Atualmente uso os NTX, pois os NSX estavam corrompendo (nao teve jeito), os NTX pelo menos funcionam..
Entao, quem conhece o GAS, sabe que tem a opcao de gerar fonte para Indexar em CDX,
ao gerar o fonte no programa principal, tava lá o request do cdx..
Rddsetdefault("dbfcdx")
Dbsetdriver("dbfcdx")
O que achei estranho foi a criacao dos indices, em outros sistemas harbour, feitos na unha, que rodam em CDX. apenas um arquivo é criado. onde todos os indices estao dentro, acho bom porque sao menos arquivos na rede.
No gas, o sistema cria como se fosse os ntx, um arq para cada indice.
exemplo: cli1.cdx cli2.cdx cli3.cdx para os 3 indices do cliente, em vez de cliente.cdx
O tamanho é menor cerca de 25 % do ntx,e para minha surpresa funciona.. desse jeito
nao testei no cliente ainda. mas parece certo..
Isso pode implicar em algo como perda de desempenho ? ou corrupcao.. ??
Alguem trabalha com CDX dessa maneira ?Vejam a funcao de indecao...(no gaspro para CDX)
Código: Selecionar todos
FOR t=1 TO LEN(sistema[op_sis,O_INDIC])
ntx=sistema[op_sis,O_ARQUI,O_DIR_NTX]+sistema[op_sis,O_INDIC,t]+EXTENSAO() // nome do indice
POE_GAUGE("Classificando o arquivo|"+ntx,"AGUARDE!")
chvind=sistema[op_sis,O_CHAVE,t] // chave de indexacao
IF FILE(ntx)
ERASE (ntx)
ENDI
tg_=ALLTRIM(STR(t))
INDE ON &chvind. TAG (tg_) TO (ntx)
NEXT