За последние 24 часа нас посетили 18688 программистов и 1602 робота. Сейчас ищут 936 программистов ...

Какая таблица будет более производительная

Тема в разделе "PHP для новичков", создана пользователем VLK, 1 апр 2014.

  1. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Подскажите, какая таблица будет более производительная:

    Код (Text):
    1. | id | option1 | option2 | option3 | option4 | option5 | option6 | option7 | option8 | option9 | option10 |
    или
    Код (Text):
    1. | id | name | value |
    В первый вариант будет добавляться всего одна запись при этом длинная, а во второю 10 записей, при этом они будут короткие.
     
  2. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    тебе не всё ли БЛДЖАДЖ равно? =))))))))))))))))) У тебя что, миллион посетителей в день?

    А вот как ты будешь делать выборки по первой таблице? Десятью запросами, или десятью условиями?
     
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    VLK, делай так, чтобы работало. преждевременная оптимизация — грех.
     
  5. AndyTitan

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

    С нами с:
    30 июн 2013
    Сообщения:
    301
    Симпатии:
    0
    Адрес:
    Saturn’s moon Titan
    $begin_time = time() - 1272000000 + floatval(microtime());
    //скрипт
    $end_time = time() - 1272000000 + floatval(microtime()) - $begin_time;

    echo $end_time;

    Добавлено спустя 3 минуты 5 секунд:
    вот еще.
    Код (PHP):
    1. $start = microtime(true);
    2. # ...
    3. $time = microtime(true) - $start;
    4. printf('Скрипт выполнялся %.4F сек.', $time);
    Добавлено спустя 1 минуту 30 секунд:
    а, ну и в цикле организуй пару сотен запросов, и запели в один из предложенных вариантов.
     
  6. vikrorpert

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

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
    логичнее первый вариант быстрее-1 выборка
    второй вариант >1 выборки
     
  7. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Сделал такую голубятню, по скорости выполнения цифры почти одинаковые, в самом конце немного отличаются
     
  8. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    А конкретней? Какой вариант быстрей? Сколько записей было?
     
  9. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    запись всего одна :) Вот сейчас пытаюсь добавить еще 10 000

    Разница там на столько ничтожна что я не стал записывать

    Ну при добавлении мелких запросов (name-value) - зависает т.е. большее 30 сек выполняется запрос.
    длинные добавлял по 1000 буквально за пару секунд делает, а тут мелки но приходится больше в 7 раз больше запросов за раз.

     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Добавляй пачками.
     
  11. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Синтаксис INSERT позволяет вставить несколько строк в одном запросе.
    Возможно, что поле id во втором варианте лишнее. Может быть достаточно name и value? Для хранения такой хэш-таблицы идеально подойдет Redis, и он будет работать значительно быстрее.