SQL Server exécute-t-il des requêtes en parallèle? En d'autres termes, si j'exécute une requête lourde qui prend 10 secondes à exécuter et en même temps que je lance une autre requête lourde qui prend 10 secondes, la deuxième requête démarrera-t-elle réellement après 10 secondes, ou démarrera-t-elle les deux en même temps ?
sql-server
user369117
la source
la source
Réponses:
Vous voulez dire "simultanément". La réponse est oui, avec des mises en garde trop larges pour être discutées ici. En fait, tout l'intérêt du SGBDR est la concurrence.
"Parallèle" a une signification précise dans SQL Server: "une seule requête est répartie sur plusieurs cœurs de processeur".
la source
Tant que votre première requête ne verrouille pas une table nécessaire dans votre deuxième requête, elles s'exécuteront en parallèle.
la source
Les requêtes s'exécutent en parallèle, dans la mesure du possible.
La base de données utilise différents verrous pour la lecture et l'écriture, sur des lignes, des blocs ou des tables entières, selon ce que vous faites.
Si une requête ne lit qu'à partir d'une table, une autre requête peut également lire à partir de la même table en même temps. Si une requête met à jour certains enregistrements d'une table, une autre requête peut toujours lire à partir de la table tant qu'elle ne lit aucun enregistrement verrouillé pour la mise à jour.
la source
Dépend des données - généralement, elles s'exécutent en parallèle, mais certains scénarios de verrouillage peuvent entraîner l'attente d'une requête par une autre. Bien sûr, si le sous-système de disque est faible et que vous n'avez pas beaucoup de RAM, plusieurs requêtes peuvent s'exécuter plus lentement.
la source
DDL (langage de définition de données) fonctionne en parallèle comme l'instruction SELECT
DML (langage de données modifié) ne fonctionne pas en parallèle comme l'instruction INSERT et UPDATE
la source
Si vous écrivez les requêtes comme ci-dessous ... cela fonctionnera parallèlement
Remarque - Votre requête parallèle sera en attente dans le cas où une insertion en bloc dans une table
la source