Зависимость скорости выборки из БД от количества столбцов в таблице

Тема в разделе "PHP", создана пользователем qwr938, 31 авг 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. qwr938

    qwr938 Постоялец

    Регистр.:
    13 авг 2008
    Сообщения:
    60
    Симпатии:
    1
    Вариант первый. Имеется таблица со столбцами 1 и 2. Содержимое столбцов 1 и 2 заносим в переменную.
    Вариант второй. К таблице из предыдущего варианта добавились столбцы 3, 4 и 5. Содержимое столбцов 1 и 2 заносим в переменную.
    Вопрос. Скорость выборки в первом и во втором случаях одинакова? Какой программой (скриптом) пользуетесь вы, чтобы узнать время загрузки страницы в браузере?
    Вот, например, php-скрипт подсчета времени генерации страницы:
    PHP:
    // вставляем в начало страницы
    <?php 
    // фиксация времени начала генерации страницы 
    $begin microtime(); 
    // матрица начального времени с секундами и миллисекундами 
    $arrbegin explode(" ",$begin); 
    // Полное начальное время
    $allbegin $arrbegin[1] + $arrbegin[0]; 
    ?> 
    // вставляем в конец страницы
    <?php 
    // фиксация времени остановки  
    $stop microtime(); 
    // матрица времени останова с секундами и миллисекундами 
    $arrend explode(" ",$stop); 
    // Полное время останова
    $allend $arrend[1] + $arrend[0]; 
    // вычитание из конечного времени начальное 
    $alltime $allend $allbegin
    // вывод в браузер времени генерации страницы 
    $format "Страница сгенерирована за %f секунд";
    printf($format,$alltime);
    ?>
    По-вашему такой скрипт даёт объективную информацию? Здесь, наверное, не учитывается время на исполнение JavaScript.
     
  2. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    890
    Симпатии:
    558
    текст хрумером генерил или из доргена вырвал?
    них не понятно что нужно
    .
    вроде разобрался
    практически да, при небольшом кол-ве строк- всё нормально. но не надо пихать в одну таблицу 20 столбцов- черевато проблемами.
    Да

    Естественно нет
     
  3. qwr938

    qwr938 Постоялец

    Регистр.:
    13 авг 2008
    Сообщения:
    60
    Симпатии:
    1
    А если в таблице действительно 20 столбцов? О каких проблемах идёт речь? О замедленной скорости выборки?
     
  4. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    890
    Симпатии:
    558
    да, при больших объемах информации таблица будет оч много весить, и оперировать данными будет довольно затратно. обычно, в одну таблицу понапихают всё, что только можно, при этом половину столбцов используют редко, так что выходит пустая трата ресурсов. Для небольших баз- это удобно, но для больших- это проблема
     
  5. afonya09

    afonya09

    Регистр.:
    31 янв 2009
    Сообщения:
    260
    Симпатии:
    18
    Вы не правы!!
    Если брать только то что нужно скорость не упадет. Еще есть такие вещи как индексы. Правильное проектирование выход...
     
  6. qwr938

    qwr938 Постоялец

    Регистр.:
    13 авг 2008
    Сообщения:
    60
    Симпатии:
    1
    По поводу php-скрипта подсчета времени генерации страницы. Лучше делать так:
    PHP:
    // вставляем в начало страницы
    <?php 
    $time_beg
    =time();
    ?> 

    // вставляем в конец страницы
    <?php 
    $time_end
    =time();$time_job=$time_end-$time_beg;
    echo 
    'Время работы скрипта: '.$time_job.' сек.';
    ?>
     
  7. merdoc

    merdoc Создатель

    Регистр.:
    24 авг 2009
    Сообщения:
    11
    Симпатии:
    0
    для подсчета времени генерации странице нужно использовать microtime
     
  8. CrashX

    CrashX В прошлом XSiteCMS

    Регистр.:
    6 июн 2008
    Сообщения:
    682
    Симпатии:
    112
    нужно не в секундах, а в милисекундах для более объективного оценивания, так же можно отдельный таймер на запросы но тут нужно продумывать, либо от открытия коннекта и до закрытия засекать, либо каждый запрос мониторить и потом их суммировать
    а вообще для таких целей есть отладчик, тк чем болше навышиваем своих фичей тем медленее работает, или больше жрет памяти)
     
Статус темы:
Закрыта.