viernes, 17 de diciembre de 2010

Diferencias CHAR,VARCHAR Y TEXT en MYSQL

La mayoría de veces que trabajamos con cadenas en MYSQL no nos ponemos a pensar cuando utilizar uno u otro tipo de dato, pues bueno aquí les van las diferencias más básicas.

El tipo char se debe de usar para cadenas con un tamaño fijo: por ejemplo folios, claves, matrículas.
Que es lo que pasa  si por ejemplo declaro un char de 5 y solo ocupo 2 espacios, pues el manejador de base de datos lo rellena por lo que se podría decir que 3 espacios quedan desperdiciados

El tipo varchar se debe usar para cadenas cuyo tamaño es variable.

La principal diferencia entre el tipo text y varchar es que el tipo text no acepta valores default o predeterminados.

Consideremos que una de las mejores prácticas es tratar siempre de trabajar con valores NO NULOS, ya que el manejador de base de datos tiene que hacer un proceso especial para trabajar con estos valores, aparte te ahorras tiempo quitandote la validacion  IFNULL equivalente a ISNULL en sql server

8 comentarios:

  1. genial man, estoy haciendo mi modelo e-r con workbench y necesitaba aclarar

    ResponderEliminar
  2. Por fin una buena explicación, gracias :)

    ResponderEliminar
  3. Pues hay una cosa que no acabo de entender: Si la única diferencia entre VARCHAR Y TEXT es que el último tipo no acepta valores predeterminados, ¿por qué existe?

    ResponderEliminar
  4. Para SQLSERVER: Lo mas importante es que TEXT no es indexable y VARCHAR si lo es.

    TEXT tiene una longitud no modificable de 16

    ResponderEliminar