Dúvidas sobre criação de índices???
Moderador: Moderadores
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Netavin, se seu campo é numérico, eu indexaria com STRZERO(), dessa forma você garantiza uma indexação com maior precisão, pois os ZEROS em lugar de espaços é mais exato. Mas veja que eu só estou sugerindo fazer a indexação com STRZERO e a exibição (seja em tela ou relatório) você pode fazer como quiser.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Re: Índices
Outra coisa, Netavim não sei se eu entendí errado mas você diz:
Por outro lado você tem um RELATION, no entanto no seu código você seleciona alguns registros que tem a ver com a data inicial e final. Será que não estaria alí o seu mistake ?Netavin escreveu:imprimo o código e o nome do produto com respectivo subtotal. Porém o nº de identificação não sai em órdem.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Índices
Bom dia a todos !
ave Pablo !
Valeu pelas dicas. Resolvi da seguinte forma:
Index on strzero(placa,5) + Dtos(dtbx) + esse to i_indice
... foi na veia.
agradecido!
Obrigado a todos !
Netavin
ave Pablo !
Valeu pelas dicas. Resolvi da seguinte forma:
Index on strzero(placa,5) + Dtos(dtbx) + esse to i_indice
... foi na veia.
agradecido!
Obrigado a todos !
Netavin
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
" Sem saber que era impossível, foi lá e fez !! "
Se o volume de dados for grande e você notar alguma lentidão na indexação, experimente trocar StrZero() por Str(). E ajuste a pesquisa.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Não acredito ! Você tem experiência sobre isso ?. Isto é, acha que faria diferença alguma ? Pois trata-se de ZEROS em lugar de espaços, o volume da indexação, não seria IGUALMaligno escreveu:Se o volume de dados for grande e você notar alguma lentidão na indexação, experimente trocar StrZero() por Str()
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Não. Eu quis dizer que a função StrZero() consome mais tempo de CPU que a função Str. E, no final das contas, com StrZero() você apenas tem zeros no lugar de espaços. Para o efeito de ordenação, dá no mesmo.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Índices
Bom dia colegas !
OK, ficarei atento a isso.
Muito obrigado! Até de repente.
[]´s
Netavin.
OK, ficarei atento a isso.
Muito obrigado! Até de repente.
[]´s
Netavin.
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
" Sem saber que era impossível, foi lá e fez !! "
Bom dia !
Um fragmento do que o Rochinha disse em "RELATÓRIO PERFEITO E SIMPLES":
USE CONTAS NEW
INDEX ON dtos(DATA) TO CONTA001
SET INDEX TO CONTA001
GOTO TOP
.
.
.
Pode-se usar a forma acima, sempre que eu for abrir um arquivo, invés de:
Use arq
If !file("ind.ntx")
index on ind to ind2
Else
set index to ind
Endif
????
Netavin
Um fragmento do que o Rochinha disse em "RELATÓRIO PERFEITO E SIMPLES":
USE CONTAS NEW
INDEX ON dtos(DATA) TO CONTA001
SET INDEX TO CONTA001
GOTO TOP
.
.
.
Pode-se usar a forma acima, sempre que eu for abrir um arquivo, invés de:
Use arq
If !file("ind.ntx")
index on ind to ind2
Else
set index to ind
Endif
Netavin
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
" Sem saber que era impossível, foi lá e fez !! "
A primeira forma vai indexar cada vez que o DBF for aberto. É um desperdício. A segunda forma é preferível, apesar de que há uma diferença de chaves. Mas acredito que seja só um exemplo simples, não é?
Só alteraria uma coisa. Se bem me lembro (meu sistema de indexação é automático - nunca nem vejo isso), ao criar o índice, ele não se mantém aberto. Então, seria melhor (já com uma correção para os nomes dos símbolos):
Aliás, nem sei se é o seu caso, mas uma dica: use paths completos e evite depender do SET DEFAULT para o sistema encontrar seus arquivos. Isso evita alguns problemas. Eu mesmo nunca usei SET DEFAULT pra coisa alguma.
Só alteraria uma coisa. Se bem me lembro (meu sistema de indexação é automático - nunca nem vejo isso), ao criar o índice, ele não se mantém aberto. Então, seria melhor (já com uma correção para os nomes dos símbolos):
Código: Selecionar todos
use arq
if !File("ind.ntx")
index on chave to ind
end
set index to ind[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!

