В нашей базе данных есть 2 таблицы.
U_Accounts
(маленькая таблица, содержащая строки) SMS_Buffer
(большая таблица, содержащая очередь SMS)
Ниже приведен пример запроса
Select SMS_Buffer.msg_id,
SMS_Buffer.u_id,
SMS_Buffer.msgtxt,
SMS_Buffer.m_priority,
U_Accounts.U_Priority
From SMS_Buffer
JOIN U_Accounts ON Sms_Buffer.u_id = U_Accounts.u_id
where U_Accounts.u_msgpush=1
Order by U_Accounts.u_priority DESC,
SMS_Buffer.m_priority DESC,
SMS_Buffer.m_id DESC
Вышеупомянутый запрос становится медленным, когда мы используем предложение ORDER BY
с SMS_Buffer.m_priority DESC, SMS_Buffer.m_id DESC
для записей, длина которых меньше 100000 строк в таблице SMS_Buffer
, но когда он увеличивается, запрос становитсяочень медленно.
Просим вас предоставить нам решение для повышения производительности вышеупомянутого запроса.
Мы пытались создать кластеризованные, некластеризованные индексы, но безуспешно.