Vider la base et insertion des nouvelle en commencant a 1
Résolu/Fermé
karango
Messages postés
80
Date d'inscription
vendredi 29 juillet 2016
Statut
Membre
Dernière intervention
10 janvier 2023
-
9 août 2016 à 17:13
karango Messages postés 80 Date d'inscription vendredi 29 juillet 2016 Statut Membre Dernière intervention 10 janvier 2023 - 11 août 2016 à 11:13
karango Messages postés 80 Date d'inscription vendredi 29 juillet 2016 Statut Membre Dernière intervention 10 janvier 2023 - 11 août 2016 à 11:13
A voir également:
- Vider la base et insertion des nouvelle en commencant a 1
- Darkino nouvelle adresse - Guide
- Flixcord nouvelle adresse - Guide
- Formules excel de base - Guide
- Yggtorrent nouvelle adresse - Guide
- Nouvelle version outlook - Guide
1 réponse
luckydu43
Messages postés
3484
Date d'inscription
vendredi 9 janvier 2015
Statut
Membre
Dernière intervention
30 juin 2022
815
Modifié par luckydu43 le 9/08/2016 à 17:36
Modifié par luckydu43 le 9/08/2016 à 17:36
Bonjour !
Avant d'aller plus loin, quelle est l'utilité de la chose ?
La gestion des id à l'air d'être auto-incrémentale, donc gérée automatiquement par le SGBD.
Même s'il y avait un moyen de customiser ça, sais-tu en quel type de variable est stocké un id ?
Réponse : très généralement un long ou un bigint selon le nommage.
La chose, c'est qu'un long peut correspondre à... 9 223 372 036 854 775 807
valeurs possibles. Autant dire que tu as de la marge.
Le projet informatique au taf est sur une très grosse base (une petite centaine de tables au bas mot) dont certaines tables contiennent 60 000 000 de tuples. Et... ça rentre large. Donc une table d'élèves...
Autrement, tu peux gérer ça, mais il te faut faire du traitement (qui ressemble à ça de manière TRES dégrossie :
INSERT INTO ELEVES ((SELECT MIN(e.ID)
FROM ELEVES e
GROUP BY e.ID
ORDER BY e.ID), tes champs....);
Le souci, c'est les perfs. Pour 1 000 000 d'élèves, tu peux commencer à voir le temps passer ;-)
M'enfin. Tu as là toutes les clés pour avancer. Soit tu fait la méthode sale, soit tu laisses le SGBD gérer à sa sauce.
Voir si cette façon de calculer peut être déportée dans un trigger pour gagner en temps de saisie des ajouts d'éléments ;-)
Bonne journée !
Luc
Les 3 plus grands mensonges du dev : 1. La doc ? On la fera plus tard... 2. Le programme a été testé et ne comporte aucun bug... 3. Les spécifications techniques sont finies...
Avant d'aller plus loin, quelle est l'utilité de la chose ?
La gestion des id à l'air d'être auto-incrémentale, donc gérée automatiquement par le SGBD.
Même s'il y avait un moyen de customiser ça, sais-tu en quel type de variable est stocké un id ?
Réponse : très généralement un long ou un bigint selon le nommage.
La chose, c'est qu'un long peut correspondre à... 9 223 372 036 854 775 807
valeurs possibles. Autant dire que tu as de la marge.
Le projet informatique au taf est sur une très grosse base (une petite centaine de tables au bas mot) dont certaines tables contiennent 60 000 000 de tuples. Et... ça rentre large. Donc une table d'élèves...
Autrement, tu peux gérer ça, mais il te faut faire du traitement (qui ressemble à ça de manière TRES dégrossie :
INSERT INTO ELEVES ((SELECT MIN(e.ID)
FROM ELEVES e
GROUP BY e.ID
ORDER BY e.ID), tes champs....);
Le souci, c'est les perfs. Pour 1 000 000 d'élèves, tu peux commencer à voir le temps passer ;-)
M'enfin. Tu as là toutes les clés pour avancer. Soit tu fait la méthode sale, soit tu laisses le SGBD gérer à sa sauce.
Voir si cette façon de calculer peut être déportée dans un trigger pour gagner en temps de saisie des ajouts d'éléments ;-)
Bonne journée !
Luc
Les 3 plus grands mensonges du dev : 1. La doc ? On la fera plus tard... 2. Le programme a été testé et ne comporte aucun bug... 3. Les spécifications techniques sont finies...
9 août 2016 à 17:54
9 août 2016 à 17:57
10 août 2016 à 12:28
10 août 2016 à 18:48
https://stackoverflow.com/questions/7718585/how-to-set-auto-increment-primary-key-in-postgresql
C'est la réponse "edited Nov 5 '12 at 14:36"
11 août 2016 à 11:13