我打算建立一個Symfony 2.1應用程序,它需要知道項目的狀態(讀/未讀),是否有任何有效的方法來保存項目狀態(有很多項目)?使用SQL關係表保持最佳選擇?或者,像MongoDB這樣的NoSQL數據庫對於處理讀取/未讀狀態是一個更好的主意?管理讀取/未讀項目(NoSQL/SQL)的最佳方式是什麼?
0
A
回答
1
準確管理這種情況的最佳方法(即不加剪角)是一個關聯表。假設您的數據庫包含項目和用戶,另建表如下:
item_users (id, user_id, item_id, time_added)
存在的任何領域存在(的用戶和項目組合)被視爲「用戶已經閱讀本」。這將產生大量數據,但可以通過巧妙的索引/分片輕鬆處理。例如:
- 如果你有大量的用戶和大量的項目,分片由用戶可能是最好的
- 如果你是經常有興趣誰讀過一定的崗位,分片由產品也值得
- 考慮索引功能USER_ID並分別index_id的(INDEX +外鍵級聯兩個UPDATE和DELETE)
這將讓你很容易查詢表。請記住,如果您有大量用戶和帖子,您的數據可能會變大,此時分片真的變得必要。
+0
什麼是'id'專欄爲你做? –
+0
允許您更方便地刪除?在這種情況下,ID字段是個人偏好。 –
相關問題
- 1. 管理文件/項目關係的最佳方式是什麼?
- 2. 閱讀/設置IE選項的最佳方式是什麼?
- 3. 什麼是讀取JavaFX Canvas像素的最佳方式?
- 4. 什麼是從標準輸入讀取的最佳方式?
- 5. 什麼是從表格中讀取的最佳方式?
- 6. 什麼是編程讀取ildasm輸出的最佳方式
- 7. 什麼是讀取WSDL文件的最佳方式?
- 8. 最佳方法:閱讀並理解未知的Xcode項目
- 9. 處理「所有組合」項目的最佳方式是什麼?
- 10. 在github上管理多用戶項目的最佳方式是什麼?
- 11. MSMQ:以非阻塞方式讀取隊列的最佳方式是什麼?
- 12. 處理變更管理的最佳方式是什麼?
- 13. 什麼是管理GUI狀態的最佳方式(創建,編輯,讀取模式...)
- 14. 閱讀Rails會話祕密的最佳方式是什麼?
- 15. 什麼是在Android中閱讀PDF的最佳方式?
- 16. 在C#中讀寫cXML文檔的最佳方式是什麼?
- 17. 在PHP中讀取大文件的最佳方法是什麼?
- 18. Java:什麼是讀取序列化對象的最佳方法?
- 19. 什麼是讀取/解析XML文件的最佳方法
- 20. 什麼是文檔數據讀取器方法調用的最佳方式?
- 21. 從嵌入式資源中讀取XML文件的最佳方式是什麼?
- 22. 什麼是指定從類路徑讀取路徑,即使項目是一個罐子的最佳方式
- 23. 管理表單狀態的最佳方式是什麼?
- 24. 管理會話變量的最佳方式是什麼?
- 25. 在類之間管理數據的最佳方式是什麼?
- 26. 什麼是寫/管理CouchDB視圖的最佳方式?
- 27. 管理復職工作的最佳方式是什麼?
- 28. 在R中管理元數據的最佳方式是什麼?
- 29. 什麼是管理Xcode代碼片段的最佳方式?
- 30. 什麼是管理圖片的最佳方式WP 8.1
您的對象在一個人閱讀時會考慮閱讀,還是可以按用戶分別跟蹤狀態? – datasage
是的,每個用戶都可以單獨跟蹤狀態。 – shinework