J'administre une application qui utilise une base de donnée sqlserver
(sqlserver 2000),
j'ai beaucoups de requetes avec des jointures et d'autres sans, j'ai
remarque une chose quand j'ai le serveur sqlserver n'est pas beaucoups chargé
j'ai des temps d'execution des requetes qui sont convenables, mais par contre
lors de pic de charge, j'ai les temps d'execution qui sont > 1s
J'ai mis differents indexs sur mes tables pour optimiser le cout des
requetes (cout tendant vers 0%), mais pour certains pics avec des requetes
utilisant une jointure et un select distinct la le temps d'execution reste >
1 s
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fred BROUARD
christophe a écrit :
Bonjour a tous
J'administre une application qui utilise une base de donnée sqlserver (sqlserver 2000), j'ai beaucoups de requetes avec des jointures et d'autres sans, j'ai remarque une chose quand j'ai le serveur sqlserver n'est pas beaucoups chargé j'ai des temps d'execution des requetes qui sont convenables, mais par contre lors de pic de charge, j'ai les temps d'execution qui sont > 1s J'ai mis differents indexs sur mes tables pour optimiser le cout des requetes (cout tendant vers 0%), mais pour certains pics avec des requetes utilisant une jointure et un select distinct la le temps d'execution reste > 1 s
La vitesse de calcul des jointure dépend essentiellement des types de données en relation et des index sous jacent. L'optimal au niveau jointure sela reéalisé par : - une jointure monocolonne - sur des colonnes de type integer - avec un index sur PK et un index sur FK
Si vos données en realtion sont par exemple des VARCHAR... bonjour les problèmes de performances...
De plus le DISTINCT effectue obligatoirement un tri. Or le tri est l'algorithme le plus couteux.
Des idees ?
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
christophe a écrit :
Bonjour a tous
J'administre une application qui utilise une base de donnée sqlserver
(sqlserver 2000),
j'ai beaucoups de requetes avec des jointures et d'autres sans, j'ai
remarque une chose quand j'ai le serveur sqlserver n'est pas beaucoups chargé
j'ai des temps d'execution des requetes qui sont convenables, mais par contre
lors de pic de charge, j'ai les temps d'execution qui sont > 1s
J'ai mis differents indexs sur mes tables pour optimiser le cout des
requetes (cout tendant vers 0%), mais pour certains pics avec des requetes
utilisant une jointure et un select distinct la le temps d'execution reste >
1 s
La vitesse de calcul des jointure dépend essentiellement des types de
données en relation et des index sous jacent.
L'optimal au niveau jointure sela reéalisé par :
- une jointure monocolonne
- sur des colonnes de type integer
- avec un index sur PK et un index sur FK
Si vos données en realtion sont par exemple des VARCHAR... bonjour les
problèmes de performances...
De plus le DISTINCT effectue obligatoirement un tri. Or le tri est
l'algorithme le plus couteux.
Des idees ?
A +
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
J'administre une application qui utilise une base de donnée sqlserver (sqlserver 2000), j'ai beaucoups de requetes avec des jointures et d'autres sans, j'ai remarque une chose quand j'ai le serveur sqlserver n'est pas beaucoups chargé j'ai des temps d'execution des requetes qui sont convenables, mais par contre lors de pic de charge, j'ai les temps d'execution qui sont > 1s J'ai mis differents indexs sur mes tables pour optimiser le cout des requetes (cout tendant vers 0%), mais pour certains pics avec des requetes utilisant une jointure et un select distinct la le temps d'execution reste > 1 s
La vitesse de calcul des jointure dépend essentiellement des types de données en relation et des index sous jacent. L'optimal au niveau jointure sela reéalisé par : - une jointure monocolonne - sur des colonnes de type integer - avec un index sur PK et un index sur FK
Si vos données en realtion sont par exemple des VARCHAR... bonjour les problèmes de performances...
De plus le DISTINCT effectue obligatoirement un tri. Or le tri est l'algorithme le plus couteux.
Des idees ?
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************