background preloader

Populate a DB ?

Facebook Twitter

14.4. Remplir une base de données. Vous pourriez avoir besoin d'insérer un grand nombre de données pour remplir une base de données au tout début. Cette section contient quelques suggestions pour réaliser cela de la façon la plus efficace. 14.4.1. Désactivez la validation automatique (autocommit) Lors d'INSERT multiples, désactivez la validation automatique et faites une seule validation à la fin (en SQL, ceci signifie de lancer BEGIN au début et COMMIT à la fin. Quelques bibliothèques client pourraient le faire derrière votre dos auquel cas vous devez vous assurer que la bibliothèque le fait quand vous le voulez). Si vous permettez à chaque insertion d'être validée séparément, PostgreSQL™ fait un gros travail pour chaque ligne ajoutée.

Un bénéfice supplémentaire de réaliser toutes les insertions dans une seule transaction est que si l'insertion d'une ligne échoue alors les lignes insérées jusqu'à maintenant seront annulées. 14.4.3. 14.4.4. 14.4.5. 14.4.6. 14.4.7. 14.4.8. 14.4.9. Remplir une BDD avec des fausses infos. Si vous développez et que vous avez une super base de données à remplir pour vos tests, voici un petit soft qui va vous permettre de générer de manière aléatoire d'énormes fichiers de données en respectant le typage des champs.

Ça s'appelle Spawner et c'est idéal pour remplir vos applications web avec des données factices. Pour l'installer, vous devez avoir les librairies gtkhtml, gnome-spell2, gdk-pixbuf et glib puis télécharger Spawner ici. Ensuite vous décompressez la bête tar xvzf spawner-0.1.5-linux-i386.tar.gz Vous la rendez exécutable chmod +x spawner Et vous le lancez. Exemple avec quelques champs Nom, prénom, adresse générés : Lance Jennings,76204 Jordan Way Lane Bond,89185 Laurel Way Felicia Hunt,89622 West Argentina St. Et ensuite avec votre petit fichier CSV ou SQL, vous pouvez le balancer dans votre base sans souci. [photo] Vous avez aimé cet article ? Generatedata.com. QQues outils de populate DB. PostgreSQL 8.0: Populating a Database. One may need to insert a large amount of data when first populating a database. This section contains some suggestions on how to make this process as efficient as possible. 13.4.1.

Disable Autocommit Turn off autocommit and just do one commit at the end. (In plain SQL, this means issuing BEGIN at the start and COMMIT at the end. 13.4.2. Use COPY to load all the rows in one command, instead of using a series of INSERT commands. If you cannot use COPY, it may help to use PREPARE to create a prepared INSERT statement, and then use EXECUTE as many times as required. Note that loading a large number of rows using COPY is almost always faster than using INSERT, even if PREPARE is used and multiple insertions are batched into a single transaction. 13.4.3.

If you are loading a freshly created table, the fastest way is to create the table, bulk load the table's data using COPY, then create any indexes needed for the table. 13.4.4. 13.4.5. 13.4.6.