индекс базы данных и использование памяти - PullRequest
0 голосов
/ 03 октября 2009

предположим, у меня есть таблица, в которой хранится 100 миллионов записей строк разного размера до 20 символов в поле столбца. Мне нужно проиндексировать этот столбец, у меня есть только машина с 2 ГБ памяти, этого достаточно для выполнения такой задачи? Является ли mysql рекомендованным двигателем для хранения?

Ответы [ 2 ]

3 голосов
/ 03 октября 2009

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

1 голос
/ 03 октября 2009

Если у вас 2 ГБ оперативной памяти, то да, вы сможете без проблем построить индекс; виртуальная память - замечательная вещь, и СУБД вполне может организовать передачу данных на диск по ходу дела.

Если у вас есть только 2 ГБ дискового пространства, у вас недостаточно места для данных и индекса.


Не удивительно, что это 2 ГБ оперативной памяти, а не 2 ГБ диска (этот комментарий был в основном шуткой - но в наши дни, если кто-то говорит 256 ГБ, неясно, имеют ли они в виду дисковое пространство или основная память; это может быть либо).

Да, если СУБД не может создать индекс в пределах этого ограничения, его не стоит называть СУБД.

MySQL, вероятно, может сделать эту работу. Это не то, что я бы рекомендовал, но я очень предвзят в этой области из-за того, что являюсь одним из разработчиков альтернативных (коммерческих) СУБД. У нас недостаточно информации о вашем бюджете и т. Д., Чтобы мы могли дать вам надежные рекомендации.

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