База данных имеет уровень совместимости 120 (SQL Server 2014)
Когда SQL запросы создаются с использованием DQL или PDO, они очень медленные по сравнению с выполнением того же SQL в Azure Data Studio.
Но когда я объявляю параметры в SQL, скорость увеличивается.
Вот пример:
Медленный запрос — Doctrine DQL
Код: Выделить всё
$qb = $conn->createQueryBuilder()
->select('*')
->from('users', 'u')
->where('u.lastname = :lastname')
->setParameter('lastname', 'Smith');
Код: Выделить всё
$sql = '
SELECT
*
FROM users
WHERE lastname = :lastname
';
$stm = $conn->prepare($sql);
$stm->bindValue(':lastname', 'Smith');
Код: Выделить всё
$sql = '
DECLARE @lastname varchar(25)
SET @lastname = :lastname
SELECT
*
FROM users
WHERE lastname = @lastname
';
$stm = $conn->prepare($sql);
$stm->bindValue(':lastname', 'Smith');
Это связано с уровнем совместимости?
Или с привязкой переменных в PDO?
Драйвер PHP SQL — pdo_sqlsrv 5.12.0
В чем причина?
Подробнее здесь: https://stackoverflow.com/questions/790 ... ata-studio