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 Server 2005 Vue triée


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2003
    Messages : 353
    Par défaut SQL Server 2005 Vue triée
    Bonjour,
    j'avais une base crée sous SQL Server 2000 que j'ai migrée vers SQL Server 2005.
    Dans cette base de données, j'ai des vues dans lesquels j'ai des tries 'ORDER BY', je sais que ce n'est pas optimisé.


    Aujourd'hui, lorsque j'éxécute ces vues, le trie ne se fait pas.
    Est il possible que les tries avec 'Order by' ne soient pas utilisés en SQL Server 2005 car justement trop couteux ?

    Merci de votre réponse

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 228
    Billets dans le blog
    25
    Par défaut
    Merci de nous retourner un exemple de code
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2003
    Messages : 353
    Par défaut
    Hum... je ne peux pas copier les vues car peu d'interet, mais je vais vous mettre le principe:
    J'ai une table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    A B C
    1 2 3
    2 1 3
    1 2 2
    J'ai une vue:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CREATE VIEW dbo.MAVUE
    AS
    SELECT A, B, C FROM TOTO ORDER BY A, B, C
    Si je l'execute:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM MAVUE
    je devrais avoir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    A B C
    1 2 2
    1 2 3
    2 1 3
    Avant, sous SQL Server 2000, cela fonctionnait, aujourd'hui, il n'y a pas de trie, pour exactement, la meme table, la même vue. C'est juste une migration.

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 998
    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 998
    Billets dans le blog
    6
    Par défaut
    Cela me parait normal. Une vue ne doit pas comporter de clause ORDER BY. Donc il est vraisemblable qu'elle soit ignorée.

    Mais vous pouvez toujours truander SQL Server avec l'option TOP 100 PERCENT WITH TIES :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE VIEW dbo.MAVUE
    AS
    SELECT TOP 100 PERCENT WITH TIES A, B, C 
    FROM TOTO 
    ORDER BY A, B, C
    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/ * * * * *

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2003
    Messages : 353
    Par défaut
    Oui j'avais oublié de mettre TOP 100 Percent, mais elle y étaient bien, en revanche, je ne connaissais pas WITH TIES
    Je vais voir, merci.

  6. #6
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2003
    Messages : 353
    Par défaut
    Je viens de tester, cela ne semble pas fonctionner non plus.
    C'est bizarre, car cela fonctionnait sous 2000.
    Tant pis, je vais passer dans mes vues pour retirer ces tris, ca sera plus propre.

    Merci

Discussions similaires

  1. [SQL-Server 2005] Vues et connexion timeout
    Par Kropernic dans le forum Développement
    Réponses: 5
    Dernier message: 03/02/2012, 11h25
  2. [SQL Server 2005] Ordre de création des vues
    Par nox75 dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 17/07/2009, 16h28
  3. Order by, top(100) Percent et vue dans SQL server 2005
    Par NicoNGRI dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 30/04/2009, 16h33
  4. Calcul vue SQL server 2005
    Par BOUBOU81 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/01/2008, 17h45

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