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

Développement SQL Server Discussion :

Optimisation d'une requête pour l'utiliser dans trigger


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Juillet 2012
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 1
    Par défaut Optimisation d'une requête pour l'utiliser dans trigger
    Je me permet de vous envoyer ce mail pour avoir l’avis d’un connaisseur.

    je veux optimiser la requête suivante pour la mettre dans un trigger.

    UPDATE
    table1
    SET.Destination = tbl_Index_Pays.Destination
    From tbl_index_pays
    where
    tbl_Index_Pays.Prefix = LEFT(OutTel, LEN(tbl_Index_Pays.Prefix)) and destination IS NULL
    and lastapp ='Dial'

    je suis preneur de toute vos suggestions

    merci d'avance pour la réponses

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 999
    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 999
    Billets dans le blog
    6
    Par défaut
    Plusieurs remarques :
    1) indiquez nous les tables visées sous forme DLL (CREATE TABLE ...) et la nature du trigger : INSERT, UPDATE, DELETE et FOR/AFTER ou INSTEAD OF...
    2) vous violez la première forme normale dans le sens ou vous avez dans une seule colonne 2 informations : l'indicatif pays et le n° de téléphone, ce pourquoi vous êtes obligé de faire appel à la fonction LEFT. De ce fait cette requête sera toujours lente parce que aucun index ne pourra jamais être utilisé !

    Commencez par respecter les formes normales, et notamment la première :
    tous les attributs d'une relation doivent être ATOMIQUE, c'est à dire non divisible, non sécable...

    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/ * * * * *

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/03/2011, 21h17
  2. Réponses: 14
    Dernier message: 25/04/2009, 14h47
  3. Réponses: 2
    Dernier message: 25/11/2008, 10h02
  4. Réponses: 2
    Dernier message: 26/09/2008, 22h32
  5. Réponses: 3
    Dernier message: 25/09/2008, 10h26

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