Я пишу заявку для ввода некоторых результатов теста. Тестеры тестируют около 40 выпусков в неделю, каждый из которых имеет 50 результатов тестирования. Это означает, что в неделю 40x50 = 2000 результатов в неделю. В месяц это будет около 10.000 результатов испытаний. Итак, как вы видите, моя таблица базы данных testResults будет расти очень быстро.
Так что теперь я думаю об определении некоторых индексов. У результата теста есть внешний ключ к тестовому сценарию, к которому он относится.
Вот почему я думаю иметь 2 индекса. Один для testcase_id и один для release_name (идентификатор в таблице релизов). Причина в том, что если кто-то хочет получить результаты теста для конкретного тестового набора или для конкретной версии, то поиск всей таблицы результатов, упорядоченной по параметру result_id, займет слишком много времени, и я думаю, что всего через год будет более 100 000записи, мое приложение будет сильно замедлено ...
Но будет ли замедляться вставка результата теста? Каждый день множество результатов испытаний будет добавляться в мою таблицу результатов. Будет ли это делать очень медленно сейчас, если всегда нужно будет постоянно обновлять мои 2 значения?
То, что я только что увидел в своей базе данных MySQL. Внешние ключи в MySQL автоматически создают индекс для таблицы. почему это ??