Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-04-2016
LIA_GUILLERMO LIA_GUILLERMO is offline
Miembro
 
Registrado: feb 2016
Posts: 32
Poder: 0
LIA_GUILLERMO Va por buen camino
Tamaño máximo para indice de un campo Varchar

Buena a tarde a todos, mi problema es el siguiente:

Tengo creada una BD en Firebird, con sus respectivas tablas, pero al crearle un índice a un campo de una de las tablas que es de tipo Varchar(n) me manda un mensaje de error, el cual me dice que no puedo crear el índice por que el ancho del campo es muy grande, y tengo entendido que si estoy utilizando el Charset UTF8 correspondería para los Varchar 2 Bytes por carácter, pero en esta calculadora que encontré en ayudas de Firebird pareciera que está ocupando 4 Bytes por carácter ya que al tener un ancho de 1023 el tamaño de indexado es de 4092. Enlace para calculadora:

https ://translate.googleusercontent.com/translate_c?depth=1&hl=es&prev=search&rurl=translate.google.com.mx&sl=en&u=http ://mujweb.cz/iprenosil/interbase/ip_ib_indexcalculator.htm&usg=ALkJrhgv4OLl1tZc0JX9MYnvQAT2dHCUTw

Me gustaría saber qué se toma en cuenta para determinar el tamaño máximo de un Varchar y por medio de ello también determinar cuál es el tamaño máximo para poder crear un índice utilizando un campo de este tipo.

Gracias.
Responder Con Cita
  #2  
Antiguo 08-04-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Qué versión de firebird?
¿De cuánto es el tamaño de página de tu base de datos?
Responder Con Cita
  #3  
Antiguo 08-04-2016
LIA_GUILLERMO LIA_GUILLERMO is offline
Miembro
 
Registrado: feb 2016
Posts: 32
Poder: 0
LIA_GUILLERMO Va por buen camino
Es la versión 2.5 y estoy utilizando el tamaño máximo que me permite que es de 16384
Responder Con Cita
  #4  
Antiguo 08-04-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Tendrás que disminuirlo hasta 1021, mira esta página.



Por cierto, ¿por qué necesitas un índice tan grande?
Responder Con Cita
  #5  
Antiguo 09-04-2016
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Desde mi punto de vista, indexar un campo con 1000 caracteres no tiene sentido.

¿vas a buscar el texto exacto? Probablemente no. Usa el containing:
Código SQL [-]
select Observaciones from clientes
where upper( Observaciones )  containing 'GARCIA'

Si usas el collate UNICODE_CI_AI encontrará: García (con tilde), y sin tener encuenta mayúsculas y minúsculas.

Saludos.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #6  
Antiguo 12-08-2016
LIA_GUILLERMO LIA_GUILLERMO is offline
Miembro
 
Registrado: feb 2016
Posts: 32
Poder: 0
LIA_GUILLERMO Va por buen camino
Gracias por la ayuda

Tendrás que disminuirlo hasta 1021





Muchas gracias por el dato, ya aprendimos más sobre ese tema, se agradece
Responder Con Cita
  #7  
Antiguo 09-09-2016
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Indices

Los indeces se usan para ayudar en l avelocidad y restricciones, pero en tu caso usar un indice asi segun mi punto de vista te va a perjudicar el rendimiento en vez de ayudarte.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #8  
Antiguo 09-09-2016
LIA_GUILLERMO LIA_GUILLERMO is offline
Miembro
 
Registrado: feb 2016
Posts: 32
Poder: 0
LIA_GUILLERMO Va por buen camino
Cita:
Empezado por rastafarey Ver Mensaje
Los indeces se usan para ayudar en l avelocidad y restricciones, pero en tu caso usar un indice asi segun mi punto de vista te va a perjudicar el rendimiento en vez de ayudarte.
Gracias rastafarey, si ya se analizó bien el caso y en parte si nos perjudicaba por ello estamos empleando otras soluciones, un saludo !!! y gracias.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Tamaño máximo ficheros .ini blaiselaborde Varios 6 30-11-2010 15:32:12
Parámetro VarChar de búsqueda, ¿es válido aumentar su tamaño para evitar error? Al González Conexión con bases de datos 15 18-11-2008 22:16:35
Cómo cambiar el tamaño de un campo tipo varchar subzero Firebird e Interbase 3 12-10-2007 14:57:27
Tamaño máximo de los formularios rretamar Gráficos 2 01-07-2007 12:57:48


La franja horaria es GMT +2. Ahora son las 23:35:46.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi