Tôi đã thấy loại sự cố này một vài lần và đang cố gắng quyết định cách lưu trữ phạm vi tốt nhất theo cách không trùng lặp. Ví dụ: khi lên lịch một số loại tài nguyên mà chỉ một người có thể sử dụng tại một thời điểm. Chủ yếu là những gì tôi đã nhìn thấy một cái gì đó như thế này:Phương pháp được đề xuất xử lý các phạm vi không trùng lặp (ví dụ: lập lịch)
PERSON ROOM START_TIME END_TIME
Col. Mustard Library 08:00 10:00
Prof. Plum Library 10:00 12:00
gì là cách tốt nhất để ngăn chặn các mục mới từ chồng chéo lịch hiện có, như nói nếu Hoa hậu Scarlet muốn dành thư viện từ 11:00 đến 11:30? Một ràng buộc nội tuyến sẽ không làm việc và tôi không nghĩ rằng điều này có thể dễ dàng được thực hiện trong một kích hoạt. Một thủ tục xử lý tất cả các chèn ban đầu tìm kiếm xung đột hiện có trong bảng?
Thứ hai, cách tốt nhất để xử lý các vấn đề tương tranh là gì? Nói rằng Miss Scarlet muốn thư viện từ 13:00 đến 15:00 và bà White muốn nó từ 14:00 đến 16:00. Các thủ tục từ (1) sẽ tìm thấy cả hai lịch trình chấp nhận được, nhưng rõ ràng được thực hiện với nhau, họ không. Điều duy nhất tôi có thể nghĩ là khóa thủ công của bảng hoặc một số loại mutex.
Khóa chính tốt cho bảng ở trên, (phòng, start_time) là gì?
bản sao có thể có của [Cách tốt nhất để tối ưu hóa lược đồ để thu thập dữ liệu tham dự] là gì (http://stackoverflow.com/questions/3193227/what-is-the-best-way-to-optimize-schema-for -apturing-attendance-data) – APC