проблема с алгоритмом обхода дерева предзаказа в php

0

Я работал над "алгоритмом обхода дерева предзаказов" в рамках моей повседневной задачи. Я столкнулся с тем, что для MySQL нам нужно заблокировать таблицу и после вставки или удаления какой-либо записи, нам нужно разблокировать определенную таблицу (я преуспел в своей задаче)... Мне просто интересно, почему мы это делаем? Помимо этого случая, где, по-вашему, это может быть использовано в случае его частого использования?

  • 0
    Я надеюсь, что я достаточно ясно
  • 1
    Если честно, вы могли бы быть более ясным, правильно написав такие слова, как «juz», начиная свои предложения с заглавной буквы и заканчивая свои предложения одним периодом или знаком вопроса.
Показать ещё 1 комментарий
Теги:

1 ответ

1
Лучший ответ

Вам нужно заблокировать таблицу, если вы не хотите, чтобы ее содержимое менялось, пока вы делаете то, что вы есть.

Итак, в вашем случае я предполагаю, что вы не хотите, чтобы таблица менялась, пока вы совершаете обход (я предполагаю, что ваши данные таблицы образуют какое-то дерево).

Итак, у вас есть один из следующих вариантов: LOCK the table, COPY его содержимое в другую таблицу, UNLOCK и работу с копией.

Если ваша оригинальная таблица достаточно мала, вы можете даже сделать свою временную таблицу в памяти.

Остерегайтесь: блокировка таблиц может привести к тому, что другие скрипты, которые используют таблицу, ждут! Убедитесь, что ваши операции не занимают много времени.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню