我是一名初學者開發人員,我想問一些建議。PHP&MySQL標記系統邏輯
我目前正在構建一個平臺,允許人們上傳圖片並對其進行標記。
我是通過結構如下的一些文章閱讀存儲標籤
存儲邏輯1
人| photo_id | name | tags |
| 1 | some photo | flower, sun. island, beach |
| 2 | some photo2 | hawaii, travle. surf |
羅得說,這不是一個好主意
所以我邏輯。
我在讀周圍約多到許多關係,我想出了這個邏輯
標籤表
| tag_id | name |
-----------------------
| 1 | flower |
| 2 | hawaii |
| 3 | surfing |
| 4 | island |
| 5 | travel |
照片表
| photo_id | name |
---------------------------
| 1 | some photo |
| 2 | some photo2 |
關係表
| tag_id | photo_id |
---------------------------
| 1 | 1 |
| 2 | 1 |
| 3 | 1 |
| 4 | 2 |
| 5 | 2 |
我選擇使用Laravel framework使開發更容易
但我的問題是邏輯2和我所害怕的是它會產生一個巨大的加載時間。
因爲沒有默認的基於用戶的標籤,我想到了以下邏輯。
用戶上傳與標籤的圖像,保存圖像之前,請檢查是否實際標籤exsit如果不救它,以後返回tags_id
,並將其保存到關係表photo_id
所以我有2個問題
哪種邏輯更好,爲什麼?
如果邏輯2,我認爲它的方式好嗎?並且我應該擔心將來有很多標籤會在那裏加載時間?
謝謝
你不應該擔心加載時間,因爲你會希望知道所有關於數據庫索引,以及他們如何幫助防止時間上升... :-) – vogomatix
它不會是一個問題,例如當人們搜索一個實際的標籤? – Levi
您也可以爲標籤名稱編制索引...添加速度較慢,因此搜索速度更快。 – vogomatix