FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Indexar campo l贸gico
Posts: 479
Joined: Fri Feb 16, 2007 10:29 AM
Indexar campo l贸gico
Posted: Wed May 05, 2010 04:25 PM

Compa帽eros,

estoy utilizando indices NTX y para ganar velocidad tengo la necesidad de INDEXAR por un campo l贸gico y buscar en 茅l.

驴 Como ser铆a la indexaci贸n ?

驴 ... y la b煤squeda ? 驴igual que en otro tipo de campos ?

Mil gracias.
LORENZO

Posts: 199
Joined: Thu Oct 06, 2005 09:07 PM
Re: Indexar campo l贸gico
Posted: Thu May 06, 2010 02:20 AM

Lorenzo:

lo mas sencillo seria indexarlo como char

index on iif( base->logico,'S','N') tag 'indexado1' ........ etc

para buscar
base->( dbseek( 'S'))
while ........

Saludos,
Mauricio

Posts: 479
Joined: Fri Feb 16, 2007 10:29 AM
Re: Indexar campo l贸gico
Posted: Thu May 06, 2010 07:09 AM

Gracias, Mauricio

Posts: 230
Joined: Sat Apr 19, 2008 10:28 PM
Re: Indexar campo l贸gico
Posted: Thu May 06, 2010 01:13 PM

Ahora que el espacio en disco ya no es tan limitante como hace a帽os, a veces es m谩s pr谩ctico usar un campo num茅rico de longitud 1 y poner como valores 0 贸 1.

Un saludo,

Alvaro

Posts: 199
Joined: Thu Oct 06, 2005 09:07 PM
Re: Indexar campo l贸gico
Posted: Fri May 07, 2010 11:27 PM

Alvaro,

pero ocupa lo mismo 0-1 que F(alse) o T(rue)

Saludos,
Mauricio

Posts: 230
Joined: Sat Apr 19, 2008 10:28 PM
Re: Indexar campo l贸gico
Posted: Sun May 09, 2010 08:51 PM

Hola Mauricio,

Tienes raz贸n, aunque para almacenar una variable l贸gica (verdadero/falso) teoricamente s贸lo se necesitar铆a un bit, la mayor铆a de las bases de datos, xbase incluido, ocupan 1 byte (de 8 bites), que es el mismo espacio que usa un caracter (0-255).

Tengo una aplicaci贸n en la que un programa en FWH escribe datos en una base MySQL. Luego esos datos son gestionados y consultados por PHP. Los campos l贸gicos me daban algunos problemas y los convert铆 todos a "integer", almacenando 0-1

Un saludo,

Alvaro

Posts: 498
Joined: Thu May 10, 2007 08:30 PM
Re: Indexar campo l贸gico
Posted: Mon May 10, 2010 08:06 AM

Tengo entendido que los campos numericos ocupan un minimo de 2 bites y los logicos 1 bite, pero como dice Alvaro hoy en d铆a la memoria no es la mayor preocupacion.

Un saludo

Peaaaaaso de foro...

FWH 2007 - xHarbour - BCC55

Continue the discussion