2010-09-16 5 views
0

Dans l'analyseur de requête du serveur SQL, pour exécuter la procédure stockée, nous utilisons la commande exec/execute suivie du nom du proc. De la même manière, quelle est la ligne de commande/l'instruction d'exécution pour la commande 'select'. Comment cela est géré en interne par l'analyseur de requête.Quelle est l'instruction d'exécution de la commande select dans SQL?

Merci à l'avance,

Pradeep

Répondre

3

RE:

Comment cela est géré en interne par analyseur de requêtes.

Ceci est un résumé très abrégé d'une section du livre « Professional SQL Server 2008 Internals and Troubleshooting »

  1. L'interface réseau SQL Server (SNI) sur le client établit une connexion à un point de terminaison TDS et envoie l'instruction SELECT comme un message TDS.
  2. Le SNI sur le serveur décompresse le message et transmet la commande SQL à l'analyseur de commandes
  3. L'analyseur de commandes vérifie si un plan approprié existe dans le cache. Sinon, il crée un arbre de requête et le transmet à l'optimiseur.
  4. L'optimiseur génère un plan de requête. (Si nécessaire)
  5. L'Executor de requête traite la requête.
  6. Les résultats sont renvoyés au client à l'aide du protocole TDS.

Il semble que this page a considérablement plus de détails sur certaines de ces étapes.

1

Il suffit de sélectionner la requête que vous souhaitez exécuter et appuyez sur F5 ou Ctrl + E pour exécuter une requête. Rien de tel que execute (ou tout autre mot-clé) n'est nécessaire avant les requêtes SQL.

+0

Je sais que presser F5 ou Ctrl + E exécute la requête, je veux savoir comment est géré en interne. – Pradeep

+0

En interne, la requête est analysée (lexicalement) et si elle est trouvée à partir de l'une des instructions exécutables, elle est exécutée. En bref, vous pouvez dire qu'il a vérifié l'existence de mots clés (jetons) comme SELECT, INSERT, UPDATE, CREATE, DELETE comme le tout premier jeton dans la requête. –

Questions connexes