powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / UPDATE large table WHERE id in (1,2,3)
4 сообщений из 4, страница 1 из 1
UPDATE large table WHERE id in (1,2,3)
    #39350642
dart_sitius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня есть большая MyIsam таблица на 40млн строк. id - это primary key. Мне нужно делать что-то вроде
Код: sql
1.
UPDATE `table` SET `data`=`data`+1 WHERE `id` IN (1, 10, 100, 5, 3, 6...)


За раз в множество ID включается где-то 150к чисел. И на 1 такой запрос уходит примерно 70 секунд. Но мне нужно обновлять минимум миллион строк в минуту. Подскажите куда копать. Я думал операции по primary key должны выполняться быстро
...
Рейтинг: 0 / 0
UPDATE large table WHERE id in (1,2,3)
    #39350648
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dart_sitius,

И все эти 150к чисел вы засовываете в текст запроса?
Не пробовали класть в отдельную таблицу (Memory) и использовать ее в запросе?
dart_sitiusНо мне нужно обновлять минимум миллион строк в минуту.Это 17к в секунду, довольно много. Может, имеет смысл сменить тип таблиц на InnoDB или Memory?
...
Рейтинг: 0 / 0
UPDATE large table WHERE id in (1,2,3)
    #39350671
dart_sitius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторИ все эти 150к чисел вы засовываете в текст запроса?
Не пробовали класть в отдельную таблицу (Memory) и использовать ее в запросе?
Не пробовал, попробую. Так должно быть быстрее?
автор Может, имеет смысл сменить тип таблиц на InnoDB или Memory?
Memory не получится из-за обьема (40млн строк). А вот InnoDB похоже должен дать выигрыш, спасибо, попробую
...
Рейтинг: 0 / 0
UPDATE large table WHERE id in (1,2,3)
    #39350686
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dart_sitiusMemory не получится из-за обьема (40млн строк).Само по себе это не приговор. Хотя да, расход памяти будет приличным - сотни мегабайт или единицы гигабайт в зависимости от структуры таблицы.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / UPDATE large table WHERE id in (1,2,3)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]