Ver Mensaje Individual
  #7  
Antiguo 21-06-2014
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.735
Reputación: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Cita:
Pero la funcion esa que has puesto que tamaño devolveria, la propiedad size de la fila?
En la primera solución:
FetchAll obtiene todos los datos del select.
Count te devuelve la cantidad de registros. Si sabes cuanto ocupa cada registro, podrás calcular la cantidad de bytes con una sola multiplicación.
El problema es que seguramente cada BLOB tendrá un tamaño distinto y no podrás hacer el cálculo. Podrías aproximarlo si todos los BLOBs son de una tamaño parecido.

En la segunda solución:
CaclulaTamano() es una función que debes hacer tu mismo.
En tu código tienes un bucle que recorre los campos, por lo que le enviarías el nombre del campo y te devolvería el tamaño de los datos de ese campo.
Tendría que tener en cuenta el tipo de dato. Si es integer devolvería 4 bytes, si es string devolvería el largo del string, si es BLOB, devolvería el tamaño del contenido, etc.

Cita:
Asi lo habia pensado, pero queria saber los bytes transferidos entre las dos bases de datos.
No mencionas si quieres esa información antes o después de haber transferido los datos.
Si es antes, la respuesta de calcular o aproximar el tamaño es la única que se me ocurre.
Si es después, la segunda opción que te he dado solucionaría tu problema.

Nota: el tamaño siempre sería de los datos. Ten en cuenta que luego hay otros factores que incrementan el tamaño de envío y recepción. En particular el envío de sentencias SQL, codificación de datos, datos de control, etc.

Última edición por duilioisola fecha: 21-06-2014 a las 11:53:00.
Responder Con Cita