Создает несколько таблиц быстрее, чем одна таблица для MySql - PullRequest
1 голос
/ 03 августа 2020

Я использую MySql для хранения разных маркеров карт Google для разных городов.

Мой вопрос:

Было бы быстрее, если бы я создал разные таблицы для каждого города и сохранил широту , долгота нету. ИЛИ мне было бы хорошо создать единую таблицу для хранения всех маркеров, добавить столбец значений города и получить их по названию города на моем веб-сайте.

Если я создам одну таблицу, я мог бы получить 300000+ строк, с другой стороны, если я создам разные таблицы для каждого города, у меня может получиться более 500 таблиц ...

Моя непосредственная мысль о процессе могла бы подумать, что несколько таблиц с меньшим количеством строк будут быстрее, но это будет огромный беспорядок.

Спасибо.

1 Ответ

6 голосов
/ 03 августа 2020

Нет, нет, нет. Базы данных оптимизированы для обработки меньшего количества больших таблиц, чем множества меньших таблиц. Поддержание отдельных параллельных таблиц - это кошмар обслуживания. Вот несколько причин:

  • Вы не можете объявить ограничения внешнего ключа.
  • Добавление столбца, ограничения или индекса требует изменения многих таблиц.
  • Таблицы неэффективны из-за увеличения количества полузаполненных страниц.
  • Запросы по всем данным - это кошмар.

У вас есть сущность. Следуйте рекомендациям по созданию одной таблицы для этой сущности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...