- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Ну и в свете всего вышесказанного думаю что тут дело не движке в "умельце"
А движки кто делает? И это простейший пример. В многоюзерском движке при последовательных операциях с несколькими таблицами всегда следует учитывать возможность одновременных запросов, просто знать и учитывать. Это не делается автоматически, это делается программистом. Об этом и речь, а не о каких-то там "суперсложностях".
А движки кто делает? И это простейший пример. В многоюзерском движке при последовательных операциях с несколькими таблицами всегда следует учитывать возможность одновременных запросов, просто знать и учитывать. Это не делается автоматически, это делается программистом. Об этом и речь, а не о каких-то там "суперсложностях".
Разве транзакции БД не помогут в этом деле?
Этот пример кажется надуманным.
А ситуация когда пост правится одновременно модератором(и) и юзером тоже надумана?
А эти картинки тоже ни о чем не говорят?:
Если и после этого кажется "надумано", то тогда пожалуй только троеперстие сможет помочь. И то я не уверен.
Разве транзакции БД не помогут в этом деле?
Транзакции вообще-то происходят при любых записях в БД. Но в простых CMS удовлетворяются автоматическими коммитами, никто не морочит себе голову управлением транзакциями. А в многопользовательских CMS приходится заморачиваться. Не заморочишься - получишь упомянутые "косяки".
Ну самый простой пример – когда "умелец" пишет пост юзера в БД и определяет ID этого поста как ID последней записи в базе, отдельным запросом к этой базе. А в период между записью и селектом туда пишется следующая запись, от другого юзера. А в программе, написанной "умельцем", этот ID используется для записи картинки в другую таблицу. И в результате картинка из первого поста оказывается во втором посте.
Но:
https://dev.mysql.com/doc/refman/8.0/en/information-functions.html#function_last-insert-id
Но:
https://dev.mysql.com/doc/refman/8.0/en/information-functions.html#function_last-insert-id
Был вопрос про пример – я написал простейший пример, чтобы было понятно, о чём речь. Можешь по аналогии свой пример придумать, если этот не нравится. Мне – лень.
А ситуация когда пост правится одновременно модератором(и) и юзером тоже надумана?
А эти картинки тоже ни о чем не говорят?:
Если и после этого кажется "надумано", то тогда пожалуй только троеперстие сможет помочь. И то я не уверен.
Это решается инкрементом поля. Эта операция сама по себе атомарная.
Был вопрос про пример – я написал простейший пример, чтобы было понятно, о чём речь. Можешь по аналогии свой пример придумать, если этот не нравится. Мне – лень.
Один ляпнул о каких-то коллизиях, но ему лень писать.
Другой ляпнул о глюках автоинкремента, которых нет. Писать ему тоже лень.
Другой ляпнул о глюках автоинкремента, которых нет. Писать ему тоже лень.
А третий читать не обучен, а думать не способен. Поэтому просто долбает по клаве.
Это решается инкрементом поля. Эта операция сама по себе атомарная.
ОМГ.. Автоинкремент на голосования..
Нда... всё оказывается намного хуже, чем я думал.