- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева

Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Имеется таблица, например, с полями id,name.
Выполняется запрос вида
Задача: сделать так что бы строки выдавались по алгоритму round-robin. Т.е. если в таблице 10 строк с id 1..10 то первый запрос должен выдать строку с id=1, второй с id=2 и т.д.
В данный момент это реализовано следующим образом:
В таблицу добавлен еще один столбец: last_access. В скрипте, где происходит выборка, после собственно запроса выполняется еще один запрос который в поле Last_access выбранного логина ставит текущую отметку TIMESTAMP. Таким образом, при выборке строки, вся таблица сортируется по Last_access и в итоге получается требуемый результат.
Проблема в следующем:
Часто параллельно выполняется несколько одинаковых запросов (не точно в одно время, но с небольшой задержкой), и с увеличением нагрузки, т.е. с уменьшением времени между последующими запросами, возникают неполадки, при которых, один скрипт еще не успел записать отметку времени, а следующий скрипт уже запрашивает данные. Очевидно что с ростом нагрузки это может вообще потерять весь смысл.
Так вот хотел бы услышать какие есть варианты ? Думал в сторону триггеров, но ведь нету триггеров на выборку, а только на вставку\изменение\удаление. Как быть?
как вариант вместо типа MyISAM использовать таблицы типа InnoDB (они поддерживают транзакции и подобных проблем быть не должно)
+1. действительно удивляет, когда приходится встречать требования обеспечения какой-либо целостности данных вместе с myisam и прочими атавизмами )
как вариант вместо типа MyISAM использовать таблицы типа InnoDB (они поддерживают транзакции и подобных проблем быть не должно)
И так все таблицы созданы как InnoDB, но о транзакциях никогда не задумывался....погуглю, спасибо.