IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Update sur grosse volumétrie


Sujet :

MS SQL Server

  1. #1
    Membre actif
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2004
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 477
    Points : 223
    Points
    223
    Par défaut Update sur grosse volumétrie
    Bonjour à tous,

    Je dois faire l'update d'une table et j'ai quelques soucis de performance, cela fait déja 8h que mon script tourne et c'est toujours pas fini.

    Pour info:
    - La table contient plusieurs dizaines de millions de données, partitionnée avec une notion de date.
    - Mon update est bien structuré avec une clause Where. C'est un update, tout ce qu'il y a de plus basique.
    - La table est convenablement indexée et ne possède aucun trigger.
    - Par contre sur ma table, j'ai une douzaine de vue qui pointent dessus.

    Questions:
    - J'ai lu dans certains forums, qu'il faudrait désactiver les index, et ensuite les reconstruire. Qu'en pensez vous ? Est ce que je vais vraiment gagner en temps ?
    - Est ce qu'il faut que je dissocie mes vues et le recrée après mon update ?

    Merci pour vos avis.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 731
    Points : 1 416
    Points
    1 416
    Par défaut
    bonsoir Pfeffer,

    La restriction
    1- porte sur quel % de la volumétrie (à la louche) ?
    2- porte au moins en partie sur l'information de partition ?

    Le temps d'acquisition des verrous peut être long (8 heures c'est un peu beaucoup) car les select, même par le biais des vues posent des verrous, à moins d'utiliser le niveau d'isolation SNAPSHOT.
    Que disent les compteurs de performances à ce propos ?
    Toutes les partitions sont libres ?

    Pour les bonnes pratiques : tout dépend du % de lignes mises à jour.
    Si on modifie 1 ligne, il va de soit qu'on ne touche pas aux contraintes - de check -de FK (- d'unicité aussi mais c'est plus complexe sous SQL server de ne pas perdre l'index)

    En tous les cas, supprimer un index pour faire un chargement/une modification doit bien s'évaluer : si vous mettez 8 heures pour faire un update restreint, il vous faudra combien de temps pour relire toutes les lignes, trier les valeurs afin de pouvoir construire l'index supprimé ?

    Je veux bien entendre qu'après une modification massive il faille reconstruire (rebuild) les index mais les scénarios pour lesquels la suppression de l'index suivi de sa reconstruction est la solution gagnante ne sont pas nombreux.

    Faut pas toujours croire ce qu'on trouve sur internet
    Le savoir est une nourriture qui exige des efforts.

  3. #3
    Membre actif
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2004
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 477
    Points : 223
    Points
    223
    Par défaut
    Bonjour,

    Je partage totalement votre avis sur la question des index.
    Le REBUILD risque de prendre beaucoup de temps et je n'aurai rien gagné.

    1- porte sur quel % de la volumétrie (à la louche) ?
    L'update porte sur une partition qui contient 471.693.339 lignes.

    2- porte au moins en partie sur l'information de partition ?
    Oui je retrouve bien la notion de "date" dans mon Where, la même que celle que j'utilise pour créer ma partition

    Le temps d'acquisition des verrous peut être long (8 heures c'est un peu beaucoup) car les select, même par le biais des vues posent des verrous, à moins d'utiliser le niveau d'isolation SNAPSHOT.
    Que disent les compteurs de performances à ce propos ?
    Toutes les partitions sont libres ?
    De quels compteur de performances parle-t-on ?
    Vous entendez quoi par partition libre ?

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    concernant les vues, si elles sont indexées, alors même remarque que ci-dessus pour les indexes (comparer le cout suppression/reconstruction d'index par rapport au surcout de mise à jour avec index)

    si elle ne sont pas indexées : aucun impact sur la mise à jour, donc on peut les laisser.

    Peut-on avoir la structure de la table (avec indexes) ainsi que la requête UPDATE ?

    Avez-vous vérifié qu'il ne s'agit pas simplement de verrous posés sur les données à mettre à jour ?

  5. #5
    Membre actif
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2004
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 477
    Points : 223
    Points
    223
    Par défaut
    Nom : columns.png
Affichages : 632
Taille : 27,5 Ko
    Nom : index.png
Affichages : 617
Taille : 22,3 Ko
    Nom : partition.png
Affichages : 646
Taille : 50,2 Ko


    Voici la structure de ma table, avec les index et les partitions.
    Et voici un exemple d'update chronophage.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    UPDATE gtm_crb_consolide_pt10
          SET puissance_arenh = NULL
        WHERE year (dateadd (minute, -10, crb.datepoint)) = @iYear

  6. #6
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    votre clause WHERE empêche l'utilisation d'indexes telle qu'elle est écrite.

    Il faudrait la réécrire de telle sorte à ne pas faire de calcul sur la colonne datepoint

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    WHERE datepoint >= @debut
    AND datepoint <@fin
    L'update porte sur une partition qui contient 471.693.339 lignes
    Combien de lignes remplissent la condition year (dateadd (minute, -10, crb.datepoint)) = @iYear.

    Comme vous ne mettez à jour que la colonne puissance_arenh, seuls les indexes contenant cette colonne sont éventuellement à désactiver le temps de la mise à jour.

  7. #7
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 719
    Points
    52 719
    Billets dans le blog
    5
    Par défaut
    Deux choses TRES IMPORTANTES pour les UPDATES en masse :
    1) dimensionnez correctement votre journal de transaction pour absorber la totalité de la charge… Sinon vous allez passer la majorité du temps à rabouter le fichier du JT
    2) découpez votre requête UPDATE en "paquets" pour éviter une saturation du cache. Ceci peut être fait à l'aide d'un script du genre ;
    WHILE EXISTS(SELECT …)
    UPDATE TOP(100000) MaTable
    SET …

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  8. #8
    Membre expérimenté
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 731
    Points : 1 416
    Points
    1 416
    Par défaut
    Remarques sur le partitionnement :

    1- Partitionnement sur date
    En général c'est fait pour avoir un stockage "rotatif" sur un nombre de périodes glissantes constant.
    Dans ce cas il convient que les index soient "alignés".

    2- Nombre de partitions
    Selon la version de SQL le nombre maximum évolue.
    Faire des partitions plus "serrées" que le besoin "normal" (ici, le besoin : l'année, partitionnement au mois voire à la semaine) permet de bénéficier de méthodes d'accès concurrentielles (plus ou moins drastique en fonction de la version et de l'édition ; reste une bonne pratique)

    3- Le stockage des partitions
    Il est recommandé de ne pas utiliser PRIMARY pour les données utilisateur.
    Il est recommandé d'allouer différents groupes de fichiers pour les partitions
    Le savoir est une nourriture qui exige des efforts.

  9. #9
    Membre actif
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2004
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 477
    Points : 223
    Points
    223
    Par défaut
    Que pensez vs de créer un index sur l'année en faisant:
    Create index year_index on year(datepoint)

  10. #10
    Membre expérimenté
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 731
    Points : 1 416
    Points
    1 416
    Par défaut
    Citation Envoyé par Pfeffer Voir le message
    Create index year_index on year(datepoint)
    Quel est l'intérêt ?
    Est-ce que l'index est réellement ignoré pour vos traitement (voir le plan d’exécution) ?

    Le fait d'ajouter un index va pénaliser les écritures et ajouter du volume à backuper.
    La colonne datepoint est déjà indexée
    Est-que la solution de aieeeuuuuu n'est réellement pas envisageable ?

    Ce qui me gène par rapport à la requête et face au partitionnement, c'est la soustraction de 10 minutes.
    Potentiellement ça ramène des lignes de début 2019 en 2018, du coup ça oblige à parcourir les 2 partitions et vu qu'à elles 2 elles représentent 80% du nombre de lignes... ça peut être long !

    Encore une fois si vous pouvez faire quelque chose, il me semble important -a minima- de revoir la stratégie de partitionnement (groupes de fichiers & nombre de partition & alignement des index sur ces mêmes partitions).
    Selon la version et l'édition de SQL et des contraintes associées voir si le columnstore est envisageable, et sinon, étudier si la compression peut être utile.
    Le savoir est une nourriture qui exige des efforts.

  11. #11
    Membre actif
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2004
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 477
    Points : 223
    Points
    223
    Par défaut
    Alors plusieurs plans d'action que j'envisage dès ce lundi:

    - Revoir le schéma de partition pour éventuellement passer sur une granularité mensuelle. 12 partions par année, sachant qu'on aura au max 5 ans glissantes, donc 60 partitions. Est ce qu'un schéma ça se change facilement ? Sur une table de 70Go ?

    - Ajouter des filegroups supplémentaires, quelle strategie adoptée ? 1 filegroup pour les données de M-12 jusqu'à M+x et un filegroup avec les données archivees beaucoup moins sollicitées, réparties physiquement sur 2 disque dur différents.

    - Eviter le year() dans mes WHERE et vérifier mes plans d'exécution

  12. #12
    Membre expérimenté
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 731
    Points : 1 416
    Points
    1 416
    Par défaut
    Bonsoir,
    Citation Envoyé par Pfeffer Voir le message
    Alors plusieurs plans d'action que j'envisage dès ce lundi:

    - Revoir le schéma de partition pour éventuellement passer sur une granularité mensuelle. 12 partions par année, sachant qu'on aura au max 5 ans glissantes, donc 60 partitions. Est ce qu'un schéma ça se change facilement ? Sur une table de 70Go ?
    Faire ça sur un serveur de qualification et extrapoler pour le serveur de production.
    Trop de facteurs influent sur la rapidité.
    Prévoir une fenêtre de maintenance.

    J'insiste lourdement :
    1- Aligner tous les index
    2- Si la version le permet, utiliser la compression de données.

    Citation Envoyé par Pfeffer Voir le message
    - Ajouter des filegroups supplémentaires, quelle strategie adoptée ? 1 filegroup pour les données de M-12 jusqu'à M+x et un filegroup avec les données archivees beaucoup moins sollicitées, réparties physiquement sur 2 disque dur différents.
    1- créer 1 FG qui sera le nouveau FG par défaut (et ainsi ne plus utiliser PRIMARY)
    2- créer un minimum de 60 FG, 1 par partition. PAS de migration de lignes d'un FG à l'autre.
    3- La conversation du nombre de fichiers est dépendante de sous système disque (DAS, NAS, SAN, ...) et de ce qu'on peut en espérer.
    Un script sera le bien venu.
    Encore une fois les tests des scripts ne se font pas sur le serveur de production.

    Citation Envoyé par Pfeffer Voir le message
    - Eviter le year() dans mes WHERE et vérifier mes plans d'exécution
    De manière générale, vérifier les plans d'execution
    Le savoir est une nourriture qui exige des efforts.

  13. #13
    Membre actif
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2004
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 477
    Points : 223
    Points
    223
    Par défaut
    1- Aligner tous les index
    Par contre, je ne comprends pas trop bien ce que veut dire "aligner tous les index".
    Un peu plus de précision ?

  14. #14
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 719
    Points
    52 719
    Billets dans le blog
    5
    Par défaut
    Si votre table est partitionnée, alors tous vos index doivent aussi être alignés.... Problème cela nécessite généralement de modifier la PK si elle ne possède pas le critère de partitionnement comme premier élément de la clef.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  15. #15
    Membre actif
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2004
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 477
    Points : 223
    Points
    223
    Par défaut
    Ok dans ce cas c'est bon. Ma PK est bien aligné avec la partition.

    Par contre si je comprends bien, vu que ma partition est "glissante", cela veut dire que chaque année je dois modifier le schéma de partition pour que l'année courante pointe sur "PRIMARY" ?

  16. #16
    Membre expérimenté
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 731
    Points : 1 416
    Points
    1 416
    Par défaut
    Bonsoir,

    Un petit tour sur la doc me semble important :
    index aligné : https://docs.microsoft.com/fr-fr/sql...#aligned-index

    Le stockage des index rentre dans la conversation des périodes glissantes.
    Si vous maintenez 20 mois de données, vous avez 2 choix :
    - tous les jours faire migrer les lignes d'une partition à une autre (pas bien rapide tout ça) et pour le lignes qui dépassent la période DELETE
    - à chaque période (schedule) on crée une nouvelle partition et on supprime l'ancienne (beaucoup mieux)

    Le scénario conseillé est le 2ieme.
    Du coup la table est un sorte d'assemblage de lot de lignes. En fin de période on supprime le lot (et non pas les lignes) c'est super rapide !
    MAIS si les index ne sont pas alignés on perd une grosse partie du bénéfice.
    Le savoir est une nourriture qui exige des efforts.

  17. #17
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2003
    Messages : 733
    Points : 1 668
    Points
    1 668
    Billets dans le blog
    8
    Par défaut
    En complément de ce qui a été dit, à juste titre, par SQLPro, sur l'alignement des index
    Citation Envoyé par SQLpro Voir le message
    ....cela nécessite généralement de modifier la PK si elle ne possède pas le critère de partitionnement comme premier élément de la clef..
    Oui tout à fait, et qui dit modification de la PK, dit modification des FK référençant la dite PK. Ce qui dans la pratique, et selon le modèle de données, risque de poser d'autres problèmes, etc. Bref, le partitionnement et l'alignement ou non des index NC sont des sujets délicats et qui réservent bien des surprises !

    A+
    "Une idée mal écrite est une idée fausse !"
    http://hamid-mira.blogspot.com

  18. #18
    Membre expérimenté
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 731
    Points : 1 416
    Points
    1 416
    Par défaut
    Citation Envoyé par hmira Voir le message
    Oui tout à fait, et qui dit modification de la PK, dit modification des FK référençant la dite PK. Ce qui dans la pratique, et selon le modèle de données, risque de poser d'autres problèmes, etc.
    Et oui.
    On notera qu'à ce jeux là c'est Oracle qui gagne avec le partitionnement par référence (https://docs.oracle.com/cd/B28359_01...n.htm#CACIHDII)
    On attendra que M$ comprenne le problème

    En l'occurrence et d'après les informations fournies, les 4 index présents ont bien la colonne "datepoint" dans leur définition.
    Aurais-je raté un truc ?

    Ah, si !
    La compression
    Le savoir est une nourriture qui exige des efforts.

  19. #19
    Membre actif
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2004
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 477
    Points : 223
    Points
    223
    Par défaut
    Le partitionnement est en cours ... bien évidemment sur l'environnement de DEV !! Je me pose une question ... le fait d'avoir partitionné sur les mois, que va t-il se passer lorsque je vais faire une requête sur une année ?

    Est ce que d'un point de vue performance je serai aussi rapide par rapport à l'ancienne méthode de partitionnement ou je faisais une partition par an ?

  20. #20
    Membre expérimenté
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 731
    Points : 1 416
    Points
    1 416
    Par défaut
    Citation Envoyé par Pfeffer Voir le message
    Est ce que d'un point de vue performance je serai aussi rapide par rapport à l'ancienne méthode de partitionnement ou je faisais une partition par an ?
    Il est utile pour les autres internautes de faire des retours d'expérience
    Le savoir est une nourriture qui exige des efforts.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Tri sur grosses volumétries
    Par crashtib dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 10/06/2009, 10h18
  2. Grosses volumétries sur sqlserver
    Par genio dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 31/08/2007, 12h33
  3. Pbleme UPDATE sur POSTGRESQL
    Par $grm$ dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 26/04/2004, 14h50
  4. [Crystal] Performance sur grosses base de données
    Par Nico118 dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 14/11/2003, 15h27
  5. update sur plusieurs nouvelles valeurs
    Par Mut dans le forum Langage SQL
    Réponses: 4
    Dernier message: 02/11/2003, 16h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo