За последние 24 часа нас посетили 52897 программистов и 1768 роботов. Сейчас ищут 976 программистов ...

один большой запрос или много маленьких?

Тема в разделе "PHP для новичков", создана пользователем rocknrolla, 5 мар 2009.

  1. rocknrolla

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

    С нами с:
    15 янв 2009
    Сообщения:
    66
    Симпатии:
    0
    при редактировании дерева структуры сайта, например при удалении страницы, приходиться пробегаться по дереву и соответственно выполнять кучу UPDATE запросов (для сохранения сортировки страниц), как лучше делать? составить один большой запрос и потом выполнить его? или много маленьких выполнять, одиночных апдейтов?
    интересует сторона производительности.
     
  2. lexa

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

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Процентов на 80% уверен, что можно обойтись и двумя запросами: 1) выбрать, 2) update таблица `чё-то` = (`чё-то` - 1) where `поле` in (список из предыдущего запроса).
     
  3. [vs]

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

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Вопрос не понятен. Какой сортировки? Если просто перемещение отдельной статьи вверх-вниз по списку, то можно обойтись двумя UPDATE.
     
  4. lexa

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

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    [vs], он имеет в виду дерево:
    - 1
    - 1.1
    - 2
    - и т.д.

    И при удалении одного из пунктов (каскадно или нет) надо пересчитать порядок уровней для таблицы. Порядок создают в таблице для ускорения вывода дерева.
     
  5. [vs]

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

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Есть готовые системы для работы с деревьями:
    http://www.php.ru/forum/viewtopic.php?t=17228
     
  6. rocknrolla

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

    С нами с:
    15 янв 2009
    Сообщения:
    66
    Симпатии:
    0
    ребята куда вас занесло?)
    вопрос был, как лучше один большой запрос или много маленьких относительно UPDATE!!!
    если будет нужно задам отдельный вопрос про дерево.

    Леха правельно понял, это дерево сайта, его структура, меню, с любой вложеностью.

    готовые решения принципеально не использую если не знаю как они работают (то есть саму теорию постороения этого приложения), и вообще не люблю брать чужое, только в крайнем случае.
     
  7. karakh

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

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    Ну если этом смысле, то один запрос лучше чем много маленьких.
     
  8. Megamozg

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

    С нами с:
    14 май 2010
    Сообщения:
    3
    Симпатии:
    0
    Один запрос лучше, если надо перестроить дерево при обновлении лучше использовать триггеры в самой базе.