Может быть, очень очень очень маленькая разница, первая, вероятно, немного медленнее (из-за конкатенации) ...
... Но время, необходимое для выполнения вашего простого SQL-запроса, составит тысячи (может быть, сотни, с простым запросом - просто дикая догадка, но вы поймете смысл) из раз важнее, чем эта маленькая разница!
Итак, вам действительно не стоит беспокоиться о такого рода «оптимизациях», а подумайте / выберите, что наиболее легко как написать / прочитать / понять, так и поддерживать.
РЕДАКТИРОВАТЬ: просто для удовольствия, вот коды операций, которые создаются для первой части кода:
$ php -dextension=vld.so -dvld.active=1 temp-2.php
Branch analysis from position: 0
Return found
filename: /home/squale/developpement/tests/temp/temp-2.php
function name: (null)
number of ops: 6
compiled vars: !0 = $sql
line # op fetch ext return operands
-------------------------------------------------------------------------------
5 0 EXT_STMT
1 CONCAT ~0 'SELECT+%2A+', 'FROM+%60myTable%60+'
2 CONCAT ~1 ~0, 'WHERE+%60id%60+%3D+4'
3 ASSIGN !0, ~1
8 4 RETURN 1
5* ZEND_HANDLE_EXCEPTION
А для второго:
$ php -dextension=vld.so -dvld.active=1 temp-2.php
Branch analysis from position: 0
Return found
filename: /home/squale/developpement/tests/temp/temp-2.php
function name: (null)
number of ops: 4
compiled vars: !0 = $sql
line # op fetch ext return operands
-------------------------------------------------------------------------------
7 0 EXT_STMT
1 ASSIGN !0, 'SELECT+%2A%0A++++++++FROM+%60myTable%60%0A++++++++WHERE+%60id%60+%3D+4'
9 2 RETURN 1
3* ZEND_HANDLE_EXCEPTION
Так что, да, есть разница ... Но, тем не менее, то, что я сказал ранее, все еще верно: вам не нужно заботиться об этом виде оптимизации: вы будете делать так много "неоптимизированных" вещей в другие части вашего приложения (или даже если конфигурация вашего сервера) , что такая небольшая разница, как эта, абсолютно ничего не значит
Ну, разве что, если вы гуглили и у вас тысячи серверов, я думаю ^^