概述(對不起它的模糊 - 我想,如果我進入更詳細的它只是在複雜的事情)mySQL - 我應該denormalise?
我有三個表,表中的一個包含一個ID,表中的兩個包含自己的ID和表一個人的id和表三包含它自己的id和表二的id。
我花了很多時間思考,我認爲這將是三個表更有效也含有相關表的人的ID。
- 它意味着我將沒有加入三個表,我就可以查詢三表(用於將經常使用的查詢)
- 它會讓我更輕鬆地實現預約系統通過僅鎖定表3中包含來自表1的特定ID的行。
誰想要知道更多關於數據庫的佈局有更多的信息here
問題
什麼是弱勢脫正常化?我看到有些人完全反對,其他人認爲這是一個有用的工具。這個ID永遠不會改變,所以除了必須插入相同的數據兩次,並因此消耗額外的空間(因爲它只是id的確實可以忽略不計)以外,我沒有真正看到任何缺點。
re「should I?」:絕對不是;當存在主要的,不可縮放的性能問題時,非規格化主要被使用。除非你有這個(並且可以用硬數據來支持這個聲明),否則你不應該這樣做,因爲好處可以忽略不計。請參閱http://stackoverflow.com/questions/561900/how-many-mysql-queries-should-i-limit-myself-to-on-a-page-php-mysql/561937#561937 – Piskvor 2009-11-13 13:32:59