Мои Sql Запросы выполняются медленно после изменения сортировки - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть база данных, в которой использовалась сортировка latin1_swedish_ci. Мне нужно было предварительно соединять с учетом регистра. Поэтому я изменил все таблицы, чтобы использовать utf8mb4_0900_cs. Объединения находятся в 2 разных базах данных, и сопоставление одинаково для обеих баз данных. Мой код работал, пока я не изменил параметры сортировки в обеих базах данных. Этот код запускает серию динамически создаваемых обновлений. Первые несколько выполняются относительно быстро, но по мере углубления в работу (генерируется больше запросов, в зависимости от таблицы будет сгенерировано примерно 15). это становится очень медленным. В конечном счете, превышение 30 секунд для запуска. Ниже приведен типичный запрос sql, который он генерирует. Я использую подключение ODB c в VB. net. Я подготовил «объяснить», и это был результат enter image description here

update autoscratch.pass0 a 
left join pcdb.positions b 
on b.Position=a.pcdbpositionsPosition 
set  pcdbpositionsPosition = concat('(ERROR) ',pcdbpositionsPosition) 
where b.Position is null and not a.pcdbpositionsPosition=''



...