За последние 24 часа нас посетили 17380 программистов и 1213 роботов. Сейчас ищут 1836 программистов ...

Тормоза в odbc_fetch_row

Тема в разделе "PHP и базы данных", создана пользователем msi, 15 апр 2008.

  1. msi

    msi Активный пользователь

    С нами с:
    15 апр 2008
    Сообщения:
    8
    Симпатии:
    0
    Проблема такая.
    Запрос выполняется быстро, но курсор обходится очень медленно при использовании odbc_fetch_row.
    Я использую PhP 5.2.3 и SQL Server 2005 Express.
    Кто-нибудь сталкивался с такой проблемой?
    С чем это может быть связано?
     
  2. msi

    msi Активный пользователь

    С нами с:
    15 апр 2008
    Сообщения:
    8
    Симпатии:
    0
    Да, забыл сказать размер курсора - 2 столбца и 15 строк.
     
  3. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    показывай, как замерял время.
     
  4. msi

    msi Активный пользователь

    С нами с:
    15 апр 2008
    Сообщения:
    8
    Симпатии:
    0
    while(odbc_fetch_row($res)){
    echo "odbc_result--time=".time()."<br>";
    }
     
  5. msi

    msi Активный пользователь

    С нами с:
    15 апр 2008
    Сообщения:
    8
    Симпатии:
    0
    UP.
    На каждый шаг обхода курсора уходит по нескольку секунд.
    А на 15 строк - более минуты.
     
  6. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    1) глянь сюда
    2) возможно, медленное соединение или медленный вывод на экран. Проверь время без echo внутри цикла.
     
  7. msi

    msi Активный пользователь

    С нами с:
    15 апр 2008
    Сообщения:
    8
    Симпатии:
    0
    1. Не похоже. Сам запрос отрабатывает быстро. Тормозит именно Fetch.
    2. Echo не при чем. Это отладочная печать, когда я заметил тормоза, - запрос не проходил по таймауту на сервере.