PHP - Dlaczego nowy sterownik SQLSRV jest wolniejszy niż stary sterownik mssql?
Mam wiele komponentów używających starego sterownika mssql z PHP. Chcę przełączyć się na nowy sterownik SQLSRV firmy Microsoft, ale moje zapytania są dużo wolniejsze.
Mam wiele procesów obsługujących +400 000 wierszy.
Oto moje testy z40 000 rzędów :
testOldDriver_mssql = Wiersze 40000: 1 sekundatestNewDriver_nonPDO = Wiersze 40000: 7 sekundtestNewDriver_PDO = Wiersze 40000: 4 sekundyOto mój największy proces (+480 000 rzędów):
testOldDriver_mssql = Wiersze 484856: 27 sekundtestNewDriver_nonPDO = Wiersze 484856: 120 sekundtestNewDriver_PDO = Wiersze 484856: 47 sekundtestPDO_ODBC = Wiersze 484856: 24 sekundyCzy nowy sterownik jest zdecydowanie wolniejszy? Czy czegoś mi brakuje?
Edytuj 1:
Przez „stary sterownik” mam na myśli przestarzałą bibliotekę MSSQL (patrz php.net/mssql).
Nowy sterownik to ten wyprodukowany bezpośrednio przez Microsoft (patrzhttp://www.microsoft.com/en-us/download/details.aspx?id=20098)
Moje zapytanie jest
SELECT * FROM myTable
WHERE pdvSaisie IN
(SELECT number FROM pdvs WHERE nom LIKE 'ZUEE %')
i używając bezpośredniegoquery()
(brak przygotowania i tego samego wyniku, jeśli użyję przygotowanego oświadczenia).
Edytuj 2:
Dodano test PDO / ODBC. Niespodzianka, szybciej: o