Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: dimitrix en 16 Febrero 2015, 23:35 pm



Título: Duda sobre el Varchar
Publicado por: dimitrix en 16 Febrero 2015, 23:35 pm
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,


Título: Re: Duda sobre el Varchar
Publicado por: Usuario Invitado 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).


Título: Re: Duda sobre el Varchar
Publicado por: dimitrix en 17 Febrero 2015, 00:10 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 :-)


Título: Re: Duda sobre el Varchar
Publicado por: 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


Título: Re: Duda sobre el Varchar
Publicado por: dimitrix en 17 Febrero 2015, 02:37 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.


Título: Re: Duda sobre el Varchar
Publicado por: MinusFour en 17 Febrero 2015, 03:34 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).


Título: Re: Duda sobre el Varchar
Publicado por: dimitrix en 17 Febrero 2015, 04:01 am
Pienso igual, gracias^^