Autor Tema: Influye en algo guardar un string o double en un campo tipo dato double  (Leído 1939 veces)

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

lucius

  • Gigabyte
  • ****
  • Mensajes: 263
  • Reputación: +6/-5
    • Ver Perfil
Quisiera saber si influye en algo o da lo mismo si tengo un campo de tipo DOUBLE en mi base de datos y desde visual basic le mando mi variable tipo string.

Dim precio As String
'Dim precio As Double

Anteriormente en la bd el campo era texto(no pregunter porque jeje) pero lo cambie a double y aparentemente no hay problema segun pruebas que he hecho, pero en mi codigo las variables estan como tipo string, influye en algo meterle string en un campo double, porque a simple vista no pasa nada pero mejor pregunto y me evito problemas futuros o necesariamente tengo que cambiar todas mi variables a double.
« última modificación: Mayo 06, 2013, 07:48:10 pm por lucius »

Albertomi

  • Gigabyte
  • ****
  • Mensajes: 281
  • Reputación: +153/-0
    • Ver Perfil
Re:Influye en algo guardar un string o double en un campo tipo dato double
« Respuesta #1 en: Mayo 06, 2013, 08:28:25 pm »

Estimado Lucius


Aparentemente no pasa nada pero lo que sucede es el que motor de base de dato está realizando un CASTING del dato enviado transformación del string al doublé. En un entorno de producción con muchos usuarios es en realidad donde se siente el impacto.


NOTA: Hay la posibilidad que algunos motores de DB no realicen este CASTING de datos lo que impactara a tu solución si quieres que sea multi DB


Saludos desde algún lugar de Lima-Perú
Saludos, desde algún lugar de Lima-Perú

cobein

  • Moderador Global
  • Gigabyte
  • *****
  • Mensajes: 348
  • Reputación: +63/-0
  • Más Argentino que el morcipan
    • Ver Perfil
Re:Influye en algo guardar un string o double en un campo tipo dato double
« Respuesta #2 en: Mayo 07, 2013, 09:29:17 am »
En principio no tendria que pasar nada, pero hay varias cosas que no son eficientes, uno lo que comentaba Albertomi de castear datos, ademas de eso tenes que tener en cuenta de un tipo de dato string ocupa mucho mas memoria que un double, el double son 8 bytes y un string en VB son 4 + 4 + 1 * chars + 1.
Todo esto sin tener en cuanta que en muchos casos podrias necesitar hacer calculos con los datos.