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 :

[SQL 2005] lenteur TSQL


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1
    Par défaut [SQL 2005] lenteur TSQL
    Bonjour.
    je prépare actuellement une migration d'une base de données SQL 2000 vers 2005 de taille importante (129 GO).
    il se trouve que je dois modifier la collation de FRENCH_CI_AS en sql 2000 vers FRENCH_CI_AI sur la nouvelle base 2005, aussi, une simple utilisation des assistants de migration n'est PAS envisageable..

    j'ai testé une première solution qui fonctionne mais est lente (10h environ pour achever la migration ) :
    * re-création de la base avec la bonne collation sans les contraintes ni indexs
    * transfert des données par script
    * retablissement des contraintes, index et recréation des catalogues de texte intégral.
    Cette formule fonctionne bien et les performances sont normales sur la base de données de destination, mais elle suppose un arret production trop important.

    J'ai donc testé une seconde méthode :

    * restauration de la base dans SQL 2005
    * suppression des indexs de texte intégral
    * modification de la collation au niveau base et colonnes.
    * recréation des catalogues full text.

    j'arrive du coup à une durée totale de l'opération de 4 à 5h, ce qui me conviendrait beaucoup mieux.

    Mais le problème est alors le suivant :

    si j'exécute le code d'une procédure stocké en direct, la requete demande environ 3 secondes pour s'exécuter, ce qui est dans la norme...

    si j'exécute le MEME code exactement, mais placé dans une procédure TSQL par un EXEC avec les MEMES parametres, l'exécution demande près de 10 MINUTES !!!!!!!!

    il n'y a par contre aucune lenteur spécialement sur les procédures stockées ne faisant pas appel au full text.
    Fichiers attachés Fichiers attachés

  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
    22 010
    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 : 22 010
    Billets dans le blog
    6
    Par défaut
    1) évitez le type NUMERIC pour les autoincrément. Utilisez le type INT
    2) évitez d'utiliser un type NUMERIC sans précision. Utilisez NUMERIC(x, y)
    3) évitez d'utiliser un format régional de datetime. Utiliser le format ISO AAAAMMJJ hh:mm:ss.nnn
    tout cela oblige à des transptypages implicite qui interdisent l'utilisation des index.
    4) évitez d'utiliser des appels de fonction préférez encapsuler cela dans la requête
    5) évitez d'utiliser une structure case lorsque la fonction COALESCE suffit.



    Mais pour de plus amples recherches il faudrait la description des tables et des fonctions en jeu.

    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. Lenteur sur MS SQL 2005 Std
    Par alexking2005 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 03/12/2007, 17h07
  2. Migration SQL 2005 vers 2000
    Par bsoft dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 29/03/2006, 16h24
  3. Connexion pages ASP avec server SQL 2005
    Par charabia dans le forum ASP
    Réponses: 10
    Dernier message: 10/02/2006, 14h02
  4. [SQL 2005] Stocker des fichiers
    Par NicoNGRI dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 06/02/2006, 10h05
  5. [ADO.Net][C#/SQL 2005] Comment faire INSERT avec variable ?
    Par hduchemin dans le forum Accès aux données
    Réponses: 1
    Dernier message: 25/01/2006, 17h34

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