У меня есть следующие структуры таблицы:MySQL производительность запросов
EVENT_ID(INT) EVENT_NAME(VARCHAR) EVENT_DATE(DATETIME) EVENT_OWNER(INT)
Мне нужно добавить поле EVENT_COMMENTS
которое должно быть текстовое поле или очень большой VARCHAR
.
У меня есть 2 места, где я запрашиваю эту таблицу, один находится на странице со списком всех событий (на этой странице мне не нужно отображать поле event_comments).
И еще одна страница, которая загружает все детали для определенных событий, которые мне нужно будет отображать в поле event_comments.
Должен ли я создать дополнительную таблицу с event_id и event_comments для этого события? Или я должен просто добавить это поле в текущую таблицу?
Другими словами, я спрашиваю, есть ли у меня текстовое поле в моей таблице, но я не SELECT
, это повлияет на производительность запросов к моей таблице?
Итак, если я сломаю его: в той же таблице: страница списка событий (не выбрав текстовое поле) будет загружаться медленнее, страница сведений о событиях (выбор текстового поля) будет загружаться быстрее. на разных таблицах: страница списка событий будет загружаться быстрее, страница сведений о событиях будет загружаться медленнее. Верный? –
Я ничего не знаю о внутреннем представлении записей в MySQL, но мне не сразу понятно, почему больше столбцов обязательно замедляет сканирование таблиц. Если каждая строка содержит смещения данных столбца и следующую строку в таблице, вы просто говорите о временах поиска() к смещениям или что-то еще происходит? –
@Larry: что быстрее: читать '100' или' 1000' страниц с диска или 'RAM'? – Quassnoi