Chúng tôi đang lưu trữ một số Guid trong cơ sở dữ liệu MS SQL. Có một số mã kế thừa thực hiện Guid.ToString()
và sau đó chuyển chúng vào một số varchar(64)
và có một số mã mới hơn chuyển chúng bằng cách sử dụng thông số nhận dạng duy nhất. Khi bạn xem kết quả bằng cách sử dụng MS SQL Management studio, chúng trông khác nhau. Thứ tự byte của ba khối đầu tiên được đảo ngược nhưng thứ tự cuối cùng vẫn giữ nguyên. Tại sao?Tại sao Guid.ToString() đảo ngược thứ tự byte?
Trả lời
Trường định danh duy nhất trong máy chủ Sql có thể được lập chỉ mục, và do đó là 'ngược'.
Có thể tạo các hướng dẫn từ cả thông tin cụ thể về máy và thông tin 'thời gian sự kiện'.
Giá trị mặc định Guid trong Net là ngẫu nhiên, nhưng bạn có thể nhận Guids tuần tự từ nó với một cuộc gọi extern:
[DllImport("rpcrt4.dll", SetLastError = true)]
static extern int UuidCreateSequential(out Guid guid);
Điều này sẽ giúp bạn có được Guids dựa trên địa chỉ MAC của bạn (MSDN docs) mà là tuần tự.
Nếu bạn .ToString()
các hướng dẫn tuần tự này thì bạn sẽ thấy phần đầu tiên của chuỗi thay đổi, trong khi phần còn lại không thay đổi.
Điều này làm cho kiểm tra sự bình đẳng giữa Guids nhanh hơn (như sự khác biệt sẽ là lúc bắt đầu) và cải thiện sự thay đổi cho những người cắt ngắn.
Đối với các cột tìm kiếm, SqlServer xây dựng chỉ mục theo cách tương tự với thư mục điện thoại hoặc từ điển. Tìm kiếm các từ bắt đầu bằng "Over *" nhanh hơn nhiều so với tìm từ kết thúc bằng "* flow".
Điều này có nghĩa rằng cho Sql server bất kỳ Guids tuần tự cần phải được lưu trữ với giá trị lặp lại đầu tiên, vì vậy nó sẽ lưu chúng sau ra trước.
- 1. Thứ tự Đảo ngược
- 2. Tại sao HighCharts đảo ngược thứ tự chuỗi của tôi?
- 3. Tại sao BinaryReader.ReadUInt32() đảo ngược mẫu bit?
- 4. ggplot2 thứ tự đảo ngược của scale_brewer
- 5. cách thanh lịch để đảo ngược thứ tự cột
- 6. Tại sao fread lộn xộn với thứ tự byte của tôi?
- 7. Tại sao chắp thêm một hậu tố chung để đảo ngược thứ tự đối chiếu trong ngôn ngữ en_US?
- 8. Làm thế nào tôi có thể đảo ngược thứ tự byte của NSInteger hoặc NSUInteger trong mục tiêu-c
- 9. Đảo ngược thứ nguyên tùy ý trong một số thứ tự
- 10. Cscope không thể tạo chỉ mục đảo ngược. Tại sao?
- 11. Làm thế nào để đảo ngược bit của một byte?
- 12. Đảo ngược sự kiện đảo ngược trong javascript
- 13. Sao chổi, Đẩy Ajax, Đảo ngược Ajax
- 14. Đảo ngược thứ tự từ trong một chuỗi ở vị trí
- 15. C++ Đảo ngược mảng
- 16. Cách hiệu quả nhất để đảo ngược thứ tự của một BitArray?
- 17. Làm thế nào để đảo ngược thứ tự một véc tơ?
- 18. Đảo ngược chuỗi mà không cần thay đổi thứ tự các từ trong một câu
- 19. Đảo ngược chuỗi trong C++
- 20. Tại sao hàm tạo được gọi theo thứ tự ngược lại?
- 21. Đảo ngược thứ tự các từ (không phải ký tự) một cách hiệu quả trong một dãy ký tự
- 22. ggplot2: Đảo ngược thứ tự của biến ký tự rời rạc cho từng khía cạnh trên thang điểm tự do?
- 23. đảo ngược ma trận 4x4
- 24. Đảo ngược màu bitmap
- 25. Đảo ngược Áp dụng cam kết làm việc sao chép
- 26. làm thế nào để đảo ngược/đảo ngược thứ tự của các phần tử trong một vector hoặc một ma trận trong MATLAB?
- 27. Kỹ thuật đảo ngược C++
- 28. Đảo ngược regexp trong vim
- 29. Đảo ngược áp dụng với rbind
- 30. Đảo ngược CRC32