Скорость Update-запроса, InnoDB

Nexus_Noob

Новичок
Здравствуйте.
Есть запрос:
PHP:
UPDATE table SET value='some short string' WHERE uniqu_id='3';
Скорость выполнения этого запроса постоянно прыгает.
Минимальная скорость его выполнения составляет пару миллисекунд, максимальная может достигать полутора секунд.
Таблица элементарная, всего 4 поля:
uniqu_id - int(11) primary
user_id - int(11)
name - varchar(255)
value - text

Думаю дело в блокировке таблицы, однако непонятно почему блокируется вся таблица вместо одной записи.

Тип сервера: MariaDB
Версия сервера: 5.5.52-MariaDB - MariaDB Server
Версия протокола: 10

Подскажите, пожалуйста, в чем может быть проблема?
 

Yoskaldyr

"Спамер"
Партнер клуба
Скорее всего база настроена не оптимально. Или еще какие хитрые индексы есть в этой таблице
 

Nexus_Noob

Новичок
Скорее всего база настроена не оптимально. Или еще какие хитрые индексы есть в этой таблице
Не знаю что есть "хитрый индекс", но помимо primary индекса есть еще (BTREE) 3 индекса: «name», «user_id» и (составной) «user_id+name».

Upd. Таблица небольшая, в данный момент в ней всего 2100 записей.
 
Последнее редактирование:

Yoskaldyr

"Спамер"
Партнер клуба
Таблица небольшая, в данный момент в ней всего 2100 записей
Значит или все крутится на кофеварке, а не на сервере или база настроена крайне криво или кроме этой таблицы есть еще куча чего-то тяжелого. Т.к. даже при настройках по умолчанию на более менее живом железе при таких размерах таблицы не должно тормозить.
И насчет индексов если нет выборки по user_id и name с сортировкой по name, то лучше эти 3 индекса лучше заменить на 2
«name+user_id», «user_id»
Если же есть то можно удалить индекс по «user_id»

P.S.Хотя при таком количестве записей пофиг на такие оптимизации
 

Nexus_Noob

Новичок
прям вижу сценарий, с 2мя параллельными транзакциями, "совершенно случайно" созданные 2мя ajax запросами, у которых естественным образом сходится id )
Очень вряд ли.
Первый запрос к бд будет отправлен при запросе браузером страницы, второй запрос к базе будет только после загрузки браузером объектной модели документа и отправкой асинхронного post запроса. После этого асинхронные запросы создаются только при определенных событиях.
Создание двух и более единовременных запросов отсутствует.
 

Nexus_Noob

Новичок
Сервер БД толком и не настраивался, вероятно проблема в его настройках.
 
Сверху