Сразу предупреждают, что я плохо знаком с mysql, но мне понадобилось его использовать.
Я создал такую таблицу:
CREATE TABLE stack
(
id INT NOT NULL AUTO_INCREMENT,
infa VARCHAR(64) UNIQUE NOT NULL,
view BOOL,
PRIMARY KEY (id)
);
Всего есть три запроса:
взять для обработки:
db.query('select infa from stack where view=0 limit 1')
пометить как взятое:
db.query(«update stack set view=1 where infa='%s'» % infa)
и вставить полученные данные запросом:
insert ignore into stack (infa, view) values ('foo', 0),('bar', 0) итд.
Я знаю, что запросы уязвимы, но тут данным можно доверять.
Проблема в том, что когда работают 10 экземпляров скрипта загрузка процессора mysql'ем составляет уже 60-70%, а мне нужно 20-30 экземпляров, дабы они обеспечивали полное использование интернет канала. Сейчас в базе 4.5 млн записей.
Все это происходит на Debian Squeeze, Pentium-4 2.6, 1024 ram. Сам скрипт на питоне с использованием mysql-python.
Собственно вопрос - что, где подкрутить дабы исправить ситуацию?
И да, я включал и смотрел mysql-slow.log и ничего там не обнаружил.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум MySQL full text search (2004)
- Форум Медленный инсерт и апдейт в мускуле (2022)
- Форум Оптимизации 5 000 000 таблицы (2015)
- Форум pg_query -> mysql_query, need help (2007)
- Форум MySQL race condition #2 (2010)
- Форум MySQL выбрать записи не содержащиеся в другой таблице (2010)
- Форум [mysql][оптимизация] Очень (ОЧЕНЬ!) медленные INSERT'ы. (2010)
- Форум MySQL vs. PostgreSQL holy war (2013)
- Форум netstat (2007)
- Форум Хранить историю изменений таблицы - другая таблица с ключом актуальной версии [SQL] (2022)