Ну мой метод, во-первых, когда пользователи начнут плакать что медленно. Причем много и сильно. Без этого, лезть в то, что работает с приемлемой для пользователей скоростью считаю не продуктивным. И второй вариант, когда оптимизирую, это если время выполнения программы выходит за рамки технологического цикла, например задача должна отрабатывать максимум за 15 минут (900 секунд), так вот если время подходит к этому порогу, тогда начинаю смотреть, как можно ускорить процесс выполнения программы, чтобы был запас времени.
А вот так вот абстрактно типа вот вам запрос, а что вы думаете, а давайте вот... а не хотите ли тут... короче, если делать нечего, а денег надо за что-то заплатить, тогда хочу. Опять же не знаю как сейчас, а во времена когда машины были большими, а языки программирования маленькими (ассембмлеру привет), так вот было такое правило, любую программу можно сократить на один байт... и таки да, поэтому перефразируя скажу так, время выполнения любого SQL-запроса, можно сократить по сравнению с текущим временем его выполнения.