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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ...

++