Duda sobre el Varchar

Iniciado por dimitrix, 16 Febrero 2015, 23:35 PM

0 Miembros y 1 Visitante están viendo este tema.

dimitrix

Pues tengo un duda sobre Varchar. Se la diferecia entre Char(400) y Varchar(400), pero mi pregunta es.

¿Tarda más en procesar una lectura de un Varchar(2000) de un Varchar(4000)?

Me interesa la parte de la lectura si tarda más uno que otro, teniendo en cuenta que tienen por ejemplo un string con 1500 carácteres los dos.

Gracias,




Usuario Invitado

No creo que haya diferencia entre rendimiento al consultar registros con un VARCHAR(500) que con un VARCHAR(8000). Se supone que VARCHAR solo usará los espacios que necesita la información a guardar, y el espacio sobrante se libera. En pocas palabras, si tanto el VARCHAR(2000) como el VARCHAR(4000) tienen ocupados solamente 1500 espacios, los 500 del primero y los 2500 del segundo se liberan, quedando solo el espacio que ocupan, por lo que al extraer las dos columnas no habrá diferencia de tiempo (eso tengo entendido).
"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein

dimitrix

Cita de: Gus Garsaky en 17 Febrero 2015, 00:07 AM
No creo que haya diferencia entre rendimiento al consultar registros con un VARCHAR(500) que con un VARCHAR(8000). Se supone que VARCHAR solo usará los espacios que necesita la información a guardar, y el espacio sobrante se libera. En pocas palabras, si tanto el VARCHAR(2000) como el VARCHAR(4000) tienen ocupados solamente 1500 espacios, los 500 del primero y los 2500 del segundo se liberan, quedando solo el espacio que ocupan, por lo que al extraer las dos columnas no habrá diferencia de tiempo (eso tengo entendido).

Exacto, pero eso es a la hora de la escritura, pero hablo de la hora de la lectura :-)




MinusFour

Tecnicamente CHAR deberia ser mas rapido en cuanto a consultas porque no tiene que estar calcuando espacio en memoria dinamicamente. Hasta un 20% mas rápido segun esto:

http://dba.stackexchange.com/questions/2640/what-is-the-performance-impact-of-using-char-vs-varchar-on-a-fixed-size-field

dimitrix

Cita de: MinusFour en 17 Febrero 2015, 02:27 AM
Tecnicamente CHAR deberia ser mas rapido en cuanto a consultas porque no tiene que estar calcuando espacio en memoria dinamicamente. Hasta un 20% mas rápido segun esto:

http://dba.stackexchange.com/questions/2640/what-is-the-performance-impact-of-using-char-vs-varchar-on-a-fixed-size-field

Lo sé, pero estoy hablando entre un Varchar y un Varchar, no entre un Varchar y un Char.




MinusFour

Cita de: dimitrix en 17 Febrero 2015, 02:37 AM

Lo sé, pero estoy hablando entre un Varchar y un Varchar, no entre un Varchar y un Char.

Va, la pregunta entonces es si hay una diferencia con un campo varchar con una longitud mayor. Yo diria que para la consulta simplemente no, porque tecnicamente deberia seguir el mismo procedimiento sobre la misma información. Al menos para simples lecturas, pero no estoy muy seguro acerca de las otras cosas que puede hacer MySQL con la informacion (sorting y asi).

dimitrix