[SQL Server 2008] Plan d'exécution avec propriété DMLRequestSort
Bonsoir tout le monde,
Je viens de remarquer avec SQL Server 2008 lors d'insertion de lignes dans un index cluster une propriété nommée DMLRequestSort sur l'opération index cluster insert. En vérifiant avec SQL Server 2005 cette propriété n'apparaît pas...
De plus selon le cas cette propriété prend la valeur true ou false.
Voici un petit exemple (Il suffit de regarder l'estimation du plan pour les 2 requêtes de fin) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| USE tempdb;
GO
CREATE TABLE dbo.test
(
id INT IDENTITY PRIMARY KEY,
texte CHAR(4) NOT NULL
);
GO
INSERT INTO dbo.test (texte) VALUES ('TTTT');
GO 100000
CREATE TABLE #TEST_LOAD
(
id INT PRIMARY KEY,
texte CHAR(4)
);
GO
-- DMLRequestSort = FALSE
INSERT INTO #TEST_LOAD
SELECT id, texte
FROM dbo.test
WHERE id < 10
-- DMLRequestSort = TRUE
INSERT INTO #TEST_LOAD
SELECT id, texte
FROM dbo.test
WHERE id < 5000 |
Avez vous une idée de la signification de cette propriété ? Je n'ai rien trouvé dans la documentation SQL Server 2008 ...
++