Я бы посоветовал провести некоторые тесты. Попробуйте в обоих направлениях и сравните его. Никто не сможет дать вам окончательный ответ, потому что вы не поделились своей конфигурацией оборудования, образцами данных, примерами запросов, тем, как вы планируете использовать данные и т. Д. Вот некоторая информация, которую вы можете рассмотреть.
использовать базу данных, как было задумано
реляционная база данных предназначена специально для обработки данных. Используйте его как таковой. При правильном написании, соединение данных в хорошо написанной схеме будет хорошо работать. Вы можете использовать EXPLAIN для оптимизации запросов. Вы можете регистрировать SLOW-запросы и улучшать их производительность. Базы данных существуют уже много лет, если все в одном столе повысить производительность, разве вы не думаете, что это будет весь шум в Интернете, и все будут делать это?
Типы двигателей
Как вставки влияет как количество строк растет? Вы используете MyISAM или InnoDB? Скорее всего, вы захотите использовать InnoDB, чтобы получить блокировку на уровне строк, а не таблицу. Убедитесь, что для таблиц используется правильный тип двигателя. Получите информацию, необходимую для понимания плюсов и минусов обоих. Неверный тип двигателя может привести к снижению производительности.
Повышение эффективности использования Перегородки
Найти пути повышения производительности. Например, по мере роста ваших наборов данных вы можете разбить данные. Data partitioning улучшит производительность большого набора данных, сохранив фрагменты данных в отдельных частях, позволяя вам запускать запросы на части больших наборов данных, а не всю информацию.
Используйте типы столбцов правильно
Рассмотрите возможность использования UUID первичных ключей для мобильности и будущего роста. Если вы используете правильные типы столбцов, это улучшит производительность ваших данных.
Не сериализовать данные
Использования сериализованных данных хуже путь. Когда вы используете сериализованные поля, вы в основном используете базу данных в качестве системы управления файлами. Он сохранит и загрузит «файл», но тогда ваш код будет отвечать за неэриализацию, поиск, сортировку и т. Д. Я просто потратил год, пытаясь разгадать такой беспорядок. Это не то, для чего предназначалась база данных. Любой, кто советует вам это сделать, не только дает вам плохие советы, они не знают, что делают. Очень мало случаев, когда вы использовали бы сериализованные данные в базе данных.
Заключение
В конце концов, вы должны принять окончательное решение. Просто убедитесь, что вы хорошо осведомлены и хорошо осведомлены о плюсах и минусах того, как вы храните данные. Последний совет, который я бы дал, это выяснить, что делают тяжелые пользователи mysql. Как вы думаете, они хранят данные в одной таблице? Или они создают реляционную модель и используют ее так, как она была разработана для использования?
Когда вы говорите: «Я собираюсь положить все в одну таблицу», вы говорите, что знаете больше о производительности и можете сделать лучший выбор для оптимизации в своем коде, чем команда разработчиков, которые постоянно работают на MySQL, чтобы сделайте это сегодня. Подумайте о том, как взвешивать свои знания с накопленными знаниями команды MySQL и администраторов баз данных, компаний и членов сообщества баз данных, которые используют его каждый день.
Правильно нормированная схема таблицы с редкими интегралами будет служить вам лучше при использовании объединений ... :) – bonCodigo
40+ ** ROWS ** отличаются от вашего названия вопроса ** 40 + столбцы ** ...;) Как @ NevilleK указала, что это зависит от того, что даже полностью нормализованная и идеально подобранная таблица может содержать более 100 столбцов, чтобы ** описать эту сущность ** .. – bonCodigo
@bonCodigo извините, что я имел в виду столбцы – Basit