我有一個(項目[編號,名稱,顏色,大小等])表超過6000.我認爲最多可以達到10000。 在該表中基本上是關於物品的信息。我也有5個不變倉庫的桌子和0到7個臨時倉庫的桌子。 這些表是這樣的(id,item_id,數量)。我試圖通過將這些倉庫組合在一個表中(id,item_id,quantity,storehouse_id)來規範化該數據庫。當使用自連接從所有庫中搜索多個項目時,這會使搜索速度非常慢6-10秒。然後我決定將這些項目與新創建的數據庫(id,名稱,顏色,大小等,storehouse1_quantity,storehouse2_quantity等)結合起來。這使得任何請求的查詢都小於0.1s。但是現在數據庫非常規範化。由於倉庫不超過2000件,大多數少於500件。 如果沒有更好的方法,我可以忍受。我不知道在哪裏看數據庫更多的邏輯和更容易維護。 任何幫助表示讚賞!提前致謝!Mysql大桌子vs加入
0
A
回答
1
那麼,規範化的方法是「正確」的方式,因爲數據庫引擎是爲了解決這個問題而開發的,我會開始考慮你的索引安排是什麼。如果有很多查找/連接,通常應該有一個索引,這樣MySQL就不必通過所有文本。
相關問題
- 1. MySQL在大桌子
- 2. mysql加入2張桌子 - 但必須加入同一張桌子兩次
- 3. 卡桑德拉 - 一個大桌子vs很多桌子
- 4. MySQL的加入就三桌
- 5. MySQL的加入對3桌
- 6. MySQL查詢加入多桌
- 7. MySQL:數百張桌子或一張大桌子?
- 8. linq加入多張桌子
- 9. 在Yii2中加入桌子
- 10. 左兩張桌子加入
- 11. 加速大桌子和小桌子之間的內連接
- 12. mysql 7 +加入桌面,如何加速?
- 13. MySQL的列JSON VS加入
- 14. MySQL的:內加入VS凡
- 15. 巨大的桌子或小桌子
- 16. 加入4桌在MySQL中,最大行從一個表
- 17. OPTIMIZE TABLE或MySQL的設置更新/內加入一大桌
- 18. Java的大桌子
- 19. 大型Mysql加入
- 20. 左加入同一張桌子上的mysql
- 21. 在MYSQL中,最好是有一張大桌子還是很多小桌子
- 22. 加入同桌無條件 - mysql的
- 23. 加入同桌NULL值在MySQL
- 24. 幫助在Zend加入兩張桌子
- 25. 如何加入我的兩張桌子?
- 26. 加入Laravel 4中的兩張桌子
- 27. 在Yii 2中加入3張桌子
- 28. 學說加入桌子兩把
- 29. 左邊加入3張桌子?
- 30. 使用CI加入三張桌子
表中的每個字段都可以通過索引進行搜索。它只是讓搜索在表格中循環多次,因爲有多個倉庫,並且多次將它們加入到項目表中 – Hander
我只能建議看看你如何存儲這些數據......如果這很難得到,也許是爲了某個總結信息的設計調整。 – GDP