У меня есть один (элементы [id, name, color, size и т. Д.]) Таблица с более чем 6000. И я думаю, что она может достигать 10000 максимум. В этой таблице в основном есть информация о, ну, элементы. У меня также есть 5 таблиц постоянных хранилищ и от 0 до 7 таблиц временных хранилищ. Эти таблицы похожи на это (id, item_id, количество). Я попытался нормализовать эту базу данных, объединив эти хранилища в одной таблице (id, item_id, quantity, storehouse_id). Это сделало поиск крайне медленным 6-10 секунд при поиске нескольких элементов из всех хранилищ с использованием самосоединений. Затем я решил объединить элементы с этой недавно созданной базой данных (id, name, color, size и т. Д., Storehouse1_quantity, storehouse2_quantity и т. Д.). Это сделало запросы менее 0,1 с для любого запроса. Но теперь база данных очень денормализована. Поскольку хранилища имеют не более 2000 предметов и в основном меньше 500. Я могу жить с этим, если нет лучшего способа. Я не знаю, где искать, чтобы сделать базу данных более логичной и более простой в обслуживании. Любая помощь приветствуется! Заранее спасибо!Mysql big table vs join
0
A
ответ
1
Ну, нормализующий подход - это «правильный» способ, и поскольку для этого используются механизмы БД, я бы начал смотреть на то, что у вас есть. Если есть много поисков/объединений, обычно должен быть индекс, чтобы MySQL не должен перебирать весь текст.
Смежные вопросы
- 1. MySQL: hash index vs. table join
- 2. Оптимизировать запрос с помощью big-table-join
- 3. SQL Join Table vs. Select
- 4. Mysql join two table
- 5. mysql table inside join
- 6. MySQL 3 table join
- 7. hibernate join table mysql
- 8. MySQL Multi-Table Join
- 9. mysql join table
- 10. MySQL Table JOIN Advice
- 11. MySQL Query Join Table
- 12. Laravel MySql join table
- 13. MySQL 4 Table Join
- 14. Google Big table
- 15. MySQL Composite Table JOIN QUERY
- 16. MySQL Join Table Without UNION
- 17. MySQL Cross table query join
- 18. MySQL multi table join query
- 19. mySQL Table Join - неправильный ответ
- 20. Php PDO MySQL Table join
- 21. mysql table join with max()
- 22. MySQL Big Data table performace issues
- 23. DB Table Optimization join vs repeat columns
- 24. MySQL: Long table vs wide table
- 25. 1 table query vs join multiple table query performance
- 26. MySQL Join vs Sub query vs?
- 27. Regex vs Join Performance Mysql
- 28. postgresql vs mysql left join
- 29. MySQL INNER JOIN - '=' vs 'like'
- 30. Mysql join vs имеет дубликат
Каждое поле в таблице индексируется, по которому можно выполнить поиск. Это просто то, что поиск делает такой же цикл через таблицу столько раз, сколько есть хранилища, и снова присоединяется к таблице элементов. – Hander
Я могу предложить только посмотреть, как вы храните эти данные ... если это сложно получить, возможно, корректировка дизайна для некоторой сводной информации где-то может быть в порядке. – GDP