Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
есть 2 базы User и Product
При выводе товаров из базы Product нужно делать запрос в базу User чтобы вытащить оттуда часть данных, например название организации, электронную почту и тд.
Улучшится ли ситуация, если эти данные продублировать в дополнительные таблицы а базе Product. Но в тоже время размер базы в целом увеличится. Исходя из того, что каждая отдельная база это отдельный файл на сервере, который с помощью внутренних конструкций Mysql нужно как-то прочитать, разобрать и только потому уже вывести, мне эта идея кажется не очень целеобразной. А как оно на самом деле?
Неактивен
Вообще классический подход (ну и правильный, так-то) - это избегать дублирования, хранить данные нормализованно.
И только если возникает необходимость - уже создавать какую-то денормализацию, дублировать данные.
Неактивен
Так так хотелось бы с точки зрения производительности понять.
Неактивен
Про производительность логичнее говорить в контексте конкретных данных и конкретных запросов
Неактивен
Ну а как же люди планируют составлять ту или иную структуру базы, перед тем как ее заполнить и работать с ней. База изменится со временем запросы добавятся, появятся новые страницы. А решить как создать структуру нужно сейчас.
Отредактированно platedz (12.03.2015 19:45:29)
Неактивен
MySQL не запрещает обращаться одновременно к таблицам в двух разных базах. Делать что-то ради производительности нужно только если проблема ясна, иначе "преждевременная оптимизация - корень всех зол". Априори работать с одним файлом или несколькими примерно одинаково по скорости. Кроме того, несколько запросов часто лучше, чем один тяжелый. Учитывая вышесказанное, не вижу оснований для денормализации в форме дублирования таблиц.
Неактивен
Спасибо за ответы.
Неактивен
Страниц: 1