Какие индексы я должен установить в моей базе данных - PullRequest
1 голос
/ 17 октября 2019

Я пишу заявку для ввода некоторых результатов теста. Тестеры тестируют около 40 выпусков в неделю, каждый из которых имеет 50 результатов тестирования. Это означает, что в неделю 40x50 = 2000 результатов в неделю. В месяц это будет около 10.000 результатов испытаний. Итак, как вы видите, моя таблица базы данных testResults будет расти очень быстро.

Так что теперь я думаю об определении некоторых индексов. У результата теста есть внешний ключ к тестовому сценарию, к которому он относится.

Вот почему я думаю иметь 2 индекса. Один для testcase_id и один для release_name (идентификатор в таблице релизов). Причина в том, что если кто-то хочет получить результаты теста для конкретного тестового набора или для конкретной версии, то поиск всей таблицы результатов, упорядоченной по параметру result_id, займет слишком много времени, и я думаю, что всего через год будет более 100 000записи, мое приложение будет сильно замедлено ...

Но будет ли замедляться вставка результата теста? Каждый день множество результатов испытаний будет добавляться в мою таблицу результатов. Будет ли это делать очень медленно сейчас, если всегда нужно будет постоянно обновлять мои 2 значения?

То, что я только что увидел в своей базе данных MySQL. Внешние ключи в MySQL автоматически создают индекс для таблицы. почему это ??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...