MySQL: индексирование большого количества столбцов (150 миллионов строк) с различными запросами - PullRequest
0 голосов
/ 11 марта 2010

В основном я работаю с большой таблицей (150M строк), поэтому индексы очень важны, но в основном это таблица, в которой есть несколько различных полей для поиска. Таким образом, способ запроса столбцов имеет, вероятно, сотни различных вариантов, поэтому создание индексов для каждого другого варианта нереально.

Итак, поясню немного подробнее: иногда в запросе может появляться столбец, иногда - нет. Это верно для нескольких разных столбцов.

Ответы [ 2 ]

2 голосов
/ 07 апреля 2010

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

0 голосов
/ 11 марта 2010

Единственное решение - это, по большому счету, один индекс на таблицу, а затем позволить оптимизатору разобрать его (т.е. решить, какой индекс использовать). Какая база данных и что такое «довольно большая таблица» для вас? 100 миллионов строк? 1 миллиард строк?

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