Я использую nodejs, пакет mysql
npm и пакет async
npm. У меня 10 SELECT
запросов, работающих на одной и той же таблице. Таблица содержит 1 миллион строк, а запрос объединяет 500 000 строк данных и имеет соответствующие индексы.
Когда я запускаю один из этих запросов, скорость обычно находится в диапазоне 1-2 секунды. Где, если, если я запускаю их все вместе, используя пул mysql, он варьируется между 10-16 секундами на каждый запрос.
Я не делаю никаких writes
для этой таблицы во время чтения. Если я использую только одно соединение, скорости снова колеблются в пределах 1-2 секунд, но, поскольку они не работают параллельно, это все равно составляет до 10-12 секунд. Таким образом, любой из этих способов получает данные через 10 секунд и, следовательно, не является практически жизнеспособным вариантом. Почему запросы занимают так много времени? Они ждут завершения предыдущих запросов? Стоит ли мне что-то включать, чтобы избежать ожидания?
В запросах обычно есть предложения WHERE, GROUP BY и ORDER BY.