Доброе утро,
В данный момент я пишу магистерскую диссертацию, и поэтому я должен обосновывать каждую каждую общую оценку, которую я делаю.
У меня есть плоская база данных в MySQL, которая изначально состояла из следующих полей
- Дата (дата)
- Имя (VARCHAR (50))
- Значение (DOUBLE)
ПК таблицы был составным из столбцов 1 и 2.
Дело в том, что вскоре у меня было более 40 миллионов строк, и мои запросы ко всем записям по одному имени принимали годы.
Следовательно, я решил создать «индексную таблицу» (я думаю, что терминология верна), где я храню отображение между Именами и идентификаторами:
- ID (INT)
- Имя (VARCHAR 50)
И я изменил свою исходную таблицу на
- Дата (дата)
- ID (INT)
- Значение (DOUBLE)
Таким образом, я мог сначала найти идентификатор искомой записи, а затем очень быстро выполнить запрос к большой таблице (производительность была действительно намного лучше).
Я предполагаю, что это потому, что сравнение между целыми числами намного проще, чем между символьными строками, но я искал некоторую литературу, чтобы поддержать эту оценку (в идеале некоторую книгу по структуре базы данных).
Как вы думаете, моя оценка верна?