2014-05-01 3 views
0

У меня есть таблица с двумя столбцами (ID1, ID2). Эти два столбца вместе создают первичный ключ. Проблема в том, что у меня в этой таблице около 30 000 000 строк. Когда я отправляю запрос в эту таблицу, это занимает много времени, и в большинстве случаев запрос выходит из строя. Есть ли способ решить эту проблему? следует ли добавить какой-либо другой индекс?Запрос в большой таблице

+0

Вы всегда запрашиваете как ID1, так и ID2? Я предполагаю, что у вас есть индекс на 'ID1, ID2', правильно? – dasblinkenlight

+1

да, вам нужен индекс, чтобы сделать первичный ключ ... однако вы можете показать остальную часть вашего запроса/где, критерии и т. Д., Что лучше поможет направить какой индекс может быть более оптимальным для вас. – DRapp

+0

У меня есть индекс для первичного ключа. Должен ли я иметь какой-либо другой индекс для каждого столбца отдельно для повышения производительности? – user2079550

ответ

-1

У вас есть указатель на ключ? Если нет, постройте один (разрешить системные ресурсы). Если у вас есть индекс и вы хотите использовать его правильно, вам нужно убедиться, что поля, указанные в предикате вашего запроса, указаны в индексе.

+0

ID1 и ID2 создают первичный ключ вместе. должен ли я иметь какой-либо другой индекс по каждому из них отдельно? – user2079550

+0

Нет, это было бы излишним и потребляло бы больше системных ресурсов. –

Смежные вопросы