2010-01-06 30 views
5

Tôi cần xuất dữ liệu sang tệp từ một bảng lớn chỉ có một cột nhưng hàng nghìn hàng mà thứ tự của hàng là quan trọng. Tôi đang sử dụng lệnh bcp như bên dưới
bcp DBNAME.dbo.tblName out mydata.dat -Uusername -Ppassword -c
Tôi đã kiểm tra với bảng có 10 hàng và tôi thấy thứ tự của các hàng được duy trì trong tệp dữ liệu. Nhưng tôi có thể giả định bcp sẽ duy trì thứ tự nếu số hàng được nói nhiều hơn 10000?Bcp có duy trì thứ tự hàng trong khi xuất thành tệp dữ liệu không?

Trả lời

1

Bạn không bao giờ nên cho rằng một SELECT SQL (hoặc bcp) sẽ trả về các giá trị theo một thứ tự nhất định hoặc theo cùng một thứ tự trừ khi bạn sử dụng mệnh đề ORDER BY.

Nói chung, các giá trị được trả về theo thứ tự dựa trên chỉ mục trên bảng.

Tuy nhiên, tôi đã thấy trường hợp các giá trị không được trả lại theo thứ tự chỉ mục. Dường như các hàng trong bộ nhớ đệm có thể được trả về trước các hàng từ đĩa ngay cả khi các hàng trên đĩa là đầu tiên trong chỉ mục.

Các vấn đề liên quan