Nueva pregunta

Pregunta:

Fecha: 12-05-2015 06:59:39 (En Español)

Cual es la mejor forma de hacer un insert de 12,000 registros?[Resuelta]

Mi pregunta sale por que tengo que ingresar 12,000 registros casi que diarios a una DB ahora bien se me ocurre concatenar los querys en un gran query y ejecutarlo una sola vez o bien ir insertando uno por uno, hay alguna otra forma , agradeceria sus recomendaciones. Etiquetas: Mejores Prácticas - Pregunta - Query - SQL - SQL Server Votos: 1 - Respuestas: 7 - Vistas: 24 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 12-05-2015 11:55:04 Esos 12.000 registros, a partir de que se generan ???... A partir de alguna otra consulta ??   Votos: 0 - Link respuesta
     
  • Fecha: 12-05-2015 14:47:56 Los obtengo de un servicio a un servidor SQLSERVER. si una consulta a DB   Votos: 0 - Link respuesta
     
  • Fecha: 13-05-2015 09:05:00 Bueno se podria decir que ya lo solucione de una forma casi que temporal porque no mucho me parece, genere un txt construyendo un query parecido a este:
    <?php
    $query = "INSERT INTO tabla (campo1,campo2,campo3....) VALUES ";
    
    foreach($misdatos as $dato){
    ("dato['campo1']","dato['campo2']","dato['campo3']"...),
    }
    
    //luego lo guardo en un txt, lo mando del servidor1 al servidor2 lo leo y lo inserto.
    
    ?>
    


    Si tienes alguna recomendacion para que pueda optimizar este proceso , te agradeceria que la compartieras. Gracias Saludos
      Votos: 0 - Link respuesta
     
  • Fecha: 13-05-2015 10:43:40 Una forma de hacerlo, pero necesitaras tener conocimientos en jquery, es haciendo una llamada ajax con jquery de uno a uno cada query, a traves de una función recursiva con javascript. Pero ese es un tema un poco mas complejo para poder explicarle.

    Ese proceso, lo genera algun usuario ??? debe llevar algun paramerto para generarse ese proceso ?
      Votos: 0 - Link respuesta
     
  • Fecha: 13-05-2015 11:55:35 No lo veo complicado aunque si un poco lento ya que es uno por uno aria 12,000 llamadas a la DB,
    si tengo conocimiento en Jquery, pero la idea esta bueno solo pediria que te ampliaras un poco mas...
      Votos: 0 - Link respuesta
     
  • Fecha: 15-05-2015 10:22:28 Hola La mejor forma de de insertar esa gran cantidad de registro es haciendo una funcion escalar ya que esta en sqlserver, tambien otra forma es usar un stored procedure yo lo he hecho y es lo mejor que se puedes hacer..   Votos: 0 - Link respuesta
     
  • Fecha: 15-05-2015 10:40:08 Vas a usar puro SQLServer?
    Podrías intentar exportar los registros a un archivo, como un csv, y luego utilizar un BULK INSERT que sirve para insertar registros a una BD que vienen desde un archivo.

    https://msdn.microsoft.com/en-us/library/ms188365.aspx esa es la liga para la instrucción BULK INSERT del SQL Server.

    Algo así como el LOAD DATA INFILE que se usa en MYSQL.
      Votos: 2 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com