Chúng tôi có một cơ sở dữ liệu, nơi chúng tôi chèn dữ liệu vào bảng bất cứ khi nào chúng tôi nhận được đơn đặt hàng từ các dịch vụ của chúng tôi.
Chúng tôi sử dụng auto_increment
để tạo ID và gán thứ tự với cùng. Điều này thường giống nhau ở mọi nơi.
Nhưng vấn đề là, vì thông tin này được chuyển đến các nhà cung cấp bên thứ ba, họ có thể theo dõi, chúng tôi nhận được bao nhiêu đơn hàng mỗi ngày. Bằng cách gửi một yêu cầu vào sáng sớm và gửi một yêu cầu khác vào nửa đêm và đếm sự khác biệt trong ID
.
Đây là cung cấp thông tin sâu sắc về các dịch vụ của chúng tôi. Vì hệ thống phức tạp một chút, chúng tôi không thể thực hiện thao tác phức tạp có thể ngẫu nhiên hóa điều này.
Ý tưởng ban đầu của tôi là tạo ra các auto_increment
con số theo cách ngẫu nhiên bit.
1,2,3,4,5,67,68,69,70,71,133,134,135,136,137,189,190,191,192,193,194
Tôi đoán nó sẽ đơn giản, vì Mysql hết bộ nhớ cache, tạo chuỗi tiếp theo bằng cách nối thêm một số ngẫu nhiên.
Làm thế nào để đạt được điều này mà không ảnh hưởng đến hiệu suất?
UUID
thay vì od Auto_Increment
.
ID
và tất cả các FK của bảng khác không bị ảnh hưởng.
SELECT * FROM Orders;
hoặcSELECT COUNT(*) FROM Orders WHERE Date >= CURRENT_DATE();
lấy thông tin này.