Как исправить проблему с медлительностью связанного сервера MS SQL для MariaDB - PullRequest
0 голосов
/ 03 января 2019

Я использую сервер SQL Link для извлечения данных из MariaDB.
Но я получаю проблему с медлительностью, когда я использовал MariaDB с сервера ссылок.

Я использовал приведенные ниже сценарии для получения результата (также опишите время, затраченное на запрос)

Пожалуйста, предложите, если у вас есть какие-либо решения.

Общее количество строк в таблице пациентов: 62520

SELECT count(1) FROM [MariaDB]...[webimslt.Patient] -- 2.6 second
SELECT * FROM OPENQUERY([MariaDB], 'select count(1) from webimslt.patient') -- 47ms
SELECT * FROM OPENQUERY([MariaDB], 'select * from webimslt.patient') -- 20 second

1 Ответ

0 голосов
/ 03 января 2019

Это не совсем честное сравнение ...

SELECT COUNT(1) возвращает только одно число и, вероятно, будет использовать индекс для подсчета строк.

SELECT * возвращает ВСЕ данные из таблицы.

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

Как вы можете улучшить скорость? Я бы начал с возврата только тех данных, которые вам нужны, указав столбцы и добавив предложение where. После этого вы, вероятно, можете использовать индексы в Maria, чтобы попытаться ускорить процесс.

...