none
SQL SERVER CE Insert 10mil registro RRS feed

  • Pregunta

  • Buenas días,

    Estoy jugando un poco con SQL SERVER CE y estoy intentando hacer un insert de 10mil registros en la tabla al arrancar la aplicación por 1ºvez.

    Mi pregunta es, cual es la mejor forma de cargar está información y porque en el dispositivo funciona de forma correcta (tarda 8seg) y en el emulador dar un fallo por falta de memoria.

    muchas gracias

    List<Juego> Juegos = new List<Juego>() { new Juego() {Id = 1000, Campo1 = "datos.."}; new Juego() {Id = 1000, Campo1 = "datos.."}; new Juego() {Id = 1000, Campo1 = "datos.."}; ... hasta 10mil }; context.Juegos.InsertAllOnSubmit(Juegos); context.SubmitChanges();



    Elbrinner


    Elbrinner

    jueves, 1 de noviembre de 2012 9:58

Respuestas

  • Hola!

    La mejor forma de cargar 10.000 registros... es no cargarlos!! :) me explico: si son registros que conoces antes de publicar la aplicación, lo mejor es que distribuyas la base de datos junto con la App y cuando arranques compruebes si existe en el isolated storage, si no existes la copias y ya tienes todos los registros. Es mejor que cargar los 10.000.

    Yo para mis pruebas he hecho cargas de 50.000 registros, usando bucles for para rellenar la colección. ¿Qué emulador estás usando? estás usando el de 256Mb? Ese tiene una limitación de 60Mb por App en vez de 90 del normal, puede ser ese el problema?

    Un saludo!


    MCTS - .NET 4.0 Windows Applications
    MCTS - .NET 4.0 Data Access
    MCTS - .NET 4.0 Service Communication Applications
    MCPD - .NET 4.0 Windows Developer
    Visita mi Blog en Geeks.ms
    Sigueme en Twitter

    • Marcado como respuesta ElbrinnerMVP jueves, 1 de noviembre de 2012 20:59
    jueves, 1 de noviembre de 2012 12:26
    Moderador

Todas las respuestas

  • Hola!

    La mejor forma de cargar 10.000 registros... es no cargarlos!! :) me explico: si son registros que conoces antes de publicar la aplicación, lo mejor es que distribuyas la base de datos junto con la App y cuando arranques compruebes si existe en el isolated storage, si no existes la copias y ya tienes todos los registros. Es mejor que cargar los 10.000.

    Yo para mis pruebas he hecho cargas de 50.000 registros, usando bucles for para rellenar la colección. ¿Qué emulador estás usando? estás usando el de 256Mb? Ese tiene una limitación de 60Mb por App en vez de 90 del normal, puede ser ese el problema?

    Un saludo!


    MCTS - .NET 4.0 Windows Applications
    MCTS - .NET 4.0 Data Access
    MCTS - .NET 4.0 Service Communication Applications
    MCPD - .NET 4.0 Windows Developer
    Visita mi Blog en Geeks.ms
    Sigueme en Twitter

    • Marcado como respuesta ElbrinnerMVP jueves, 1 de noviembre de 2012 20:59
    jueves, 1 de noviembre de 2012 12:26
    Moderador
  • Hola,

    Tengo la versión 7.5 del emulado(entiendo que sea la versión con 512mb) . En teoria los datos oculpan unos 3Mb como maximo. Voy a probar con otro telefono que tengo por aqui para ver si tambien funciona.

    Con cual herramienta puedo salvar la base de datos y luego agregar en el proyecto para que no haga falta la carga?

    gracias


    Elbrinner

    jueves, 1 de noviembre de 2012 12:49
  • Encontré un programa muy útil para descargar la base de datos.

    http://wp7explorer.codeplex.com/releases/view/61282

    La bd oculpa 1,3mb, voy instalar directamente en mi aplicación.

    un saludo


    Elbrinner

    jueves, 1 de noviembre de 2012 20:59