Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Char (1) vs Smallint - PostgreSQL

Estas en el tema de Char (1) vs Smallint - PostgreSQL en el foro de PostgreSQL en Foros del Web. Cordial Saludo En este momento tengo una pequeña duda, tengo un campo en una tabla de la BD, en el cual tan solo guardo un ...
  #1 (permalink)  
Antiguo 24/01/2011, 15:29
 
Fecha de Ingreso: marzo-2009
Ubicación: Cali (Valle) - Colombia
Mensajes: 164
Antigüedad: 15 años, 9 meses
Puntos: 2
De acuerdo Char (1) vs Smallint - PostgreSQL

Cordial Saludo

En este momento tengo una pequeña duda, tengo un campo en una tabla de la BD, en el cual tan solo guardo un carácter de dos posibles, este campo sirve para saber si el registro ha sido "eliminado" ó no, ya que la aplicación no va a dejar eliminar registros, sino que cuando un usuario quiera borrar un registro, este solo cambiara de estado, siendo el valor "1" cuando el registro no se haya "eliminado" y "0" cuando el registro haya sido "eliminado", por lo cual es necesario este campo, ante el cual no sé que sea más eficiente si usar un tipo de dato char con longitud 1 ó un smallint, ó mejor un booleano (el cual me da menos confianza, ya que según leí

http://www.forosdelweb.com/f99/boole...gresql-472436/

este tipo de datos presenta inconsistencias cuando se trabaja con PHP y PostgreSQL.

Agradeceria la ayuda de alguno de ustedes.
  #2 (permalink)  
Antiguo 24/01/2011, 15:37
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: Char (1) vs Smallint - PostgreSQL

El char ocupa 1 byte.
http://www.postgresql.org/docs/8.4/i...-SPECIAL-TABLE
El smallint ocupa 2 bytes
http://www.postgresql.org/docs/8.4/i...-NUMERIC-TABLE
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 27/01/2011, 08:13
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 19 años, 3 meses
Puntos: 7
Respuesta: Char (1) vs Smallint - PostgreSQL

Revisaste "la manera" de usar el tipo de dato bool[0]? que de paso (y de memoria) creo que tammbién ocupa 1 byte... Por cierto que en la lista de postgresql en español, insitentemente Alvaro Herrera recomienda _no_ utilizar char.

Parece más bien, de "hábitos" de programación, pues yo utilizo baste esa forma que indicas para chequeo de información, sin problemas...

[0]http://www.postgresql.org/docs/8.4/interactive/datatype-boolean.html
__________________
Gracias de todas todas
-----
Linux!
  #4 (permalink)  
Antiguo 06/12/2011, 23:45
 
Fecha de Ingreso: diciembre-2011
Mensajes: 2
Antigüedad: 13 años
Puntos: 0
Respuesta: Char (1) vs Smallint - PostgreSQL

Hola a todos, yo también tenía esta duda asi que hice unas pruebas con 1189534 registros en la tabla:

CREATE TABLE intento (
id serial NOT NULL,
caracter "char" DEFAULT 'a' NOT NULL,
entero smallint DEFAULT 1 NOT NULL,
CONSTRAINT intento_pk PRIMARY KEY(id)
) WITH OIDS;

En el campo caracter (char) ingresé los siguientes valores aleatoriamente:

a b c d e f g h i j k l m n o p q r s t u v w x y z


Y el campo entero (smallint) ingresé números de 1 al 26 aleatoriamente para que tenga la misma cantidad de valores posibles que en el campo caracter.

Creé un indice para cada campo e hice las consultas:

SELECT count(id) FROM intento WHERE caracter = 'b'
Registros: 45840
Tiempo: 249.943 ms

SELECT count(id) FROM intento WHERE entero = 24
Registros: 45845
Tiempo: 224.682 ms

Elegí 'b' y 24 pues tenían apróximadamente la misma cantidad de registros.

Hecha la prueba, optaría por elegir el smallint para registrar valores numéricos pequeños en lugar de usar su equivalencia en "char", ya que para mi caso, el espacio en la base de datos no es crítico en la aplicación que vengo desarrollando, pero sí la rapidez en obtener los resultados.

Cualquier comentario es bienvenido.

Saludos.
  #5 (permalink)  
Antiguo 17/02/2012, 03:38
 
Fecha de Ingreso: agosto-2011
Mensajes: 17
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Char (1) vs Smallint - PostgreSQL

Hola me llamo Leticia Gabandé y soy Técnico de RRHH.
Actualmentee stamos bsucando gente que sepan de Oracle,PL/SQL, ASP y VB para trabajar en una importante empresa de la zona de mIrasierra (Madrid) es a jornada completa de 9 a 6 y es algo estable . Las tareas serán hacer analisis de requeriientos y de manuales destinados a desarrollos de metodologías, así como valorar las necesidades del cliente (proyectos de banca) . Por otro lado,esta persona estará a cargo de un equipo de programadores y administradores al que tendrá que supervisar para corregir o subsanar errores en la arquitectura de la aplicación/es desarrolladas.

El salario está en torno a los 30-35.000 Brutos anales en función de la experiencia del candidato. Necesitamso uan persona que haya trabajado en este ámbito mínmo unos dos años.


los Interesados pongánse en contacto conmigo en [email protected]

Etiquetas: char
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:09.