Правильная ли структура БД? - MySQL
Формулировка задачи:
Добрый вечер.
Есть задача создать простой сайт с очень большим количеством статей - около 2 млн. статей. Сайт самый простой без админки работающей в связке с БД. Встал вопрос правильной организации БД. Основная задача - это быстрая работа выгрузки данных из БД.
Сейчас у меня сложилась следующая структура базы данных, в итоге будет 3 таблицы в БД.
Первая таблица - categories, соетвестнно категорий статей.
Дальше таблица posts - будет держать в себе в следующее ячейки:
И последняя таблица texts - будет содержать в себе сами текстов статьи, следующая структура:
Таблицы все планирую по типу InnoDB
Все. Вот теперь вопрос будет ли такая структура работать быстро с 2 млн. записями? Какие будут предложения по улучшению? Главное это быстрая выборка из БД при выводе заголовкой, записей, текстов и т.д. Поделитесь свои мнением пожалуйста. Спасибо.
Листинг программы
- Структрука таблицы categories:
- id - соотвественно id категории
- name - название категории
Листинг программы
- id - id записи
- name - название статьи
- catid - id категории (из таблицы categories)
- min_descr - краткое описание статьи
- views - количество просмотров статьи
- meta_keywords - ключевые слова для meta_keywords
- meta_descr - краткое описание для meta_description
Листинг программы
- id - id записи
- postid - id статьи (связка с таблицей postid), будет стоять индекс на это поле.
- text - сам текст статьи, поле будет - LONGTEXT
Решение задачи: «Правильная ли структура БД?»
textual
Листинг программы
- SELECT * FROM posts
Объяснение кода листинга программы
- Запрос на выборку данных из таблицы
posts
- Значение
*
означает, что будут выбраны все столбцы из таблицы - Результат запроса будет содержать все строки и столбцы из таблицы
posts
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д