假設有三個表的酒店預訂的簡單數據庫。解耦MySQL數據與易用性
表1:預訂 此表包含入住和退房日期,以及對適用的一個或多個房間和優惠券的參考。
表2:客房 此表包含所有酒店房間的價格,每晚的價格和牀位數量。
表3:優惠券 此表保存所有優惠券的數據。
選項#1: 如果你想保留特定月份與每個預訂的總成本的概述,你必須獲取預約,每個預約房間,和優惠券(如果有的話)。
有了這些數據,您就可以計算預訂的總金額。
選項#2: 不過,也有另一種選擇,這是存儲在預留表的總成本和折扣,使其更容易獲取這些計算。缺點是您的數據變得更加依賴並且靈活性較差。我的意思是,每次更改與預訂相關的房間或優惠券時,您都必須手動更新預訂表的總費用和折扣。
在性能(選項#2)版本數據獨立性(選項#1)方面通常推薦什麼。
更新: 這是一個MySQL數據庫,目前有超過500000行(預留),但正在快速增長。我想在早期階段優化數據庫性能,以確保UX保持快速響應。
首先確保選項#1中的查詢已完全優化,然後才查找進一步的優化。 –