Профайлеров, которые делают эксплейн SQL запросов в природе не существует.
"Неиспользуемое в выборке" не влияет на производительность SQL запросов
Волшебных палочек, которые говорят тебе "вот в этой функции лишнее потребление памяти" в природе не существует.
А в остальном коллега прав - нахождение узких мест в коде называется профилированием.
Во всех современных фреймворках есть прекрасный встроенный профайлер, который делает именно то что тебе надо показывает время исполнения всех участвов кода и всех запросов. Например
https://symfony.com/doc/current/profiler.html
В частности, он показывает список всех использованных на странице запросов, который можно отсортировать по времени выполнения, и прямо из списка выполнить эксплейн. Я пользуюсь постоянно, именно чтобы найти узкие места.