Сразу предупреждают, что я плохо знаком с 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, INSERT ... SELECT ... FROM DUAL (2012)
- Форум MySQL full text search (2004)
- Форум Оптимизации 5 000 000 таблицы (2015)
- Форум Медленный инсерт и апдейт в мускуле (2022)
- Форум SQL+PHP (2010)
- Форум [MySQL] кодировка передаваемых в процедуру параметров. (2011)
- Форум MySql vs Reiser vs ..? (2010)
- Форум переустановить auto_increment (2010)
- Форум pg_query -> mysql_query, need help (2007)
- Форум [mysql][оптимизация] Очень (ОЧЕНЬ!) медленные INSERT'ы. (2010)