Thứ Ba, 15 tháng 2, 2011

Tốc độ giữa DISTINCT và Group by

Trong câu lệnh select nếu muốn lấy giá trị duy nhất của một cột nào đó, ta có 2 cách

SELECT DISTINCT ColumnName FROM TableName

SELECT ColumnName FROM TableName GROUP BY ColumnName

Vậy tốc độ cái nào nhanh hơn, theo mình nghĩ thì như nhau. Ví dụ:

SET STATISTICS IO OFF

GO

CREATE TABLE Test(Col1 INT, Col2 VARCHAR(50))

GO

INSERT INTO Test(Col1, COl2) VALUES(1, 'ABC')

INSERT INTO Test(Col1, COl2) VALUES(2, 'ZYX')

INSERT INTO Test(Col1, COl2) VALUES(2, 'ABC')

INSERT INTO Test(Col1, COl2) VALUES(3, 'AAA')

GO

SELECT * FROM Test

GO

SET STATISTICS IO ON

SELECT DISTINCT Col2 FROM Test ORDER BY Col2

SELECT Col2 FROM Test GROUP BY Col2 ORDER BY Col2

GO

DROP TABLE Test

Qua bên tab Messages để xem kết quả.

Không có nhận xét nào:

Đăng nhận xét