У меня есть sql-запрос в mybatis, который выводит около 35000 записей. Я хочу рассчитать время выполнения запроса и затем преобразовать эти выходные строки в объекты Java отдельно. Этот запрос занимает почти 3 секунды. Но когда запрос выполняется непосредственно в workbench mysql, он занимает всего 0,003 секунды.
Вы не можете легко сделать это, используя только протоколы mybatis или что-то в этом роде.
Проблема в том, что эти две фазы выполнения запроса четко не разделены. Некоторая часть преобразования данных, полученных из базы данных, происходит в самом драйвере JDBC, а часть выполняется в mybatis mapper. Там также время, затраченное на отправку данных из базы данных в вашу программу (убедитесь, что она учитывается при запуске запроса в workbench).
Лучше всего использовать профайлер и, возможно, запустить запрос в цикле, а затем проверить в профилировщике, где время тратится.