Я построил аналитический движок, который извлекает из моей базы данных 50-100 строк необработанных данных (назовем это raw_table
), выполняет кучу статистических измерений на нем в PHP, а затем предлагает ровно 140 точек данных, которые мне тогда нужны хранить в другой таблице (назовем это results_table
). Все эти точки данных представляют собой очень маленькие целые числа («40», «2.23», «- 1024» являются хорошими примерами типов данных).
Я знаю, что максимальное количество столбцов для mysql довольно высокое (4000+), но, похоже, много серой области, когда производительность действительно начинает ухудшаться.
Итак, несколько вопросов о лучших методах работы:
1) Если точнее, 140 точек данных можно разбить на 20 строк по 7 точек данных с одинаковым «experiment_id
», если меньше столбцов лучше. ОДНАКО мне всегда нужно вытягивать ВСЕ 20 строк (по 7 столбцов в каждом, плюс идентификатор и т. Д.), Поэтому я не думаю, что это будет лучшей производительностью, чем вытягивание 1 строки из 140 столбцов. Таким образом, вопрос: лучше ли хранить 20 строк по 7-9 столбцов (которые все должны быть извлечены сразу) или 1 ряд из 140-143 столбцов?
2) Учитывая мои примеры данных («40», «2.23», «- 1024» являются хорошими примерами того, что будет сохранено), я думаю smallint
для типа структуры. Есть ли какие-либо отзывы, связанные с производительностью или нет?
3) Любые другие отзывы о проблемах производительности MySQL или советы приветствуются.
Заранее спасибо за ваш вклад.