我正在構建客戶的數據庫模式&而不是永久性地添加列,我寧願使用EAV(實體屬性值)Magento樣式將此數據存儲在其他表中並聯系起來。EAV建模的數據庫模式 - 查詢建議
我的SQL小提琴會給結構 http://sqlfiddle.com/#!2/82a70
一個更好的想法。在這種情況下我會想生成顯示所有的客戶與存儲的其他表中,如果他們的相關信息的查詢例如,客戶沒有爲特定的實體獲取值,它只顯示NULL。
如我,我會想顯示輸出如下:
customer_id | first_name | surname | profession | club
1 bob geldof singer NULL
2 lionel messi footballer barcelona fc
任何人都可以提出最優化的MySQL查詢生產的基礎上,這個記錄可能有許多以後添加更多的實體或屬性?
抱歉,但'最優化的MySQL查詢產生這種recordset'將要求您不要使用EAV。通過使用EAV,您需要針對每個結果集屬性列使用「左連接」。 –
@KM我同意,我剛剛進入EAV,並希望'盡我所能',即使腳趾在路上被燒燬:) – user2689136
你沒有義務爲每條記錄加入連接 - 但這很可能在性能方面的最佳解決方案。 BTW – Strawberry