Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1296 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  passage de table de grande taille

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

passage de table de grande taille

n°2302882
Favier Pie​rre
Posté le 04-07-2017 à 22:15:17  profilanswer
 

bonjour a tous
 
je dispose d'un PC client connecté a une base de données SQL server distante. je dois régulièrement faire plusieurs milliers d'ajouts de ligne grâce a des INSERT INTO successifs dans une boucle for, 1 requête par ligne.
 
problème: c'est lent et ça bouffe de la disponibilité serveur.
 
pour économiser du réseau, je souhaiterais que mes requête INSERT INTO dans boucle FOR soient faite directement sur le PC du serveur.
 
j'ai pensé aux procédures stockées, mais j'ai deux contraintes: mes tables de valeurs sont grosses et leur taille n'est pas fixe. sur internet, je n'ai trouvé d'aide que concernant les petites tables a 1 ou 2 lignes.
 
auriez-vous une idée? suis-je condamné a construire une requête de 8000 insert into? :'(
 
merci d'avance

mood
Publicité
Posté le 04-07-2017 à 22:15:17  profilanswer
 

n°2302888
rufo
Pas me confondre avec Lycos!
Posté le 04-07-2017 à 23:30:09  profilanswer
 

Pourquoi ne pas générer un fichier SQL plutôt, contenant les données à insérer ? Sur Mysql, on peut faire un insert into d'un ensemble d'enregistrements en une seule requête.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2302895
flo850
moi je
Posté le 05-07-2017 à 08:12:03  profilanswer
 

sur mysql tu as load data infile pour lire directement un fichier et le charger en base : https://dev.mysql.com/doc/refman/5.7/en/load-data.html  
 
sinon, tu peux juste faire des insert de quelques centaines d'enregistrement à la fois côté PHP, le tout au sein d'une seule transaction, ça améliore énormement les perfs
En plus en cas d'erreur l'insert global plante au lieu d'en avoir des bouts qui passent


---------------


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  passage de table de grande taille

 

Sujets relatifs
lister les champs d'une table en connexion odbcBoucle taille fichiers et lancement
ajout d'une valeur dans résultat d'une requête d'une autre tableDes doublons se créent dans ma table
Passage de Visual Studio 2005 à 2017Je voudrais sélectionner une ligne du tableau
Modification structure table, quid des vues ?!?[Nodejs] Passage de variable avec async
Id absolu et Id relatif dans la même table MySQLtable conversion en assembleur
Plus de sujets relatifs à : passage de table de grande taille



Copyright © 1997-2016 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR