willwin
Guest
Помогите с оптимизацией таблицы (около 200 тысяч записей)
Всем привет!
Возникла проблема. У нас на портале ведётся лог показа внутренних баннеров. В последнее время лог стал разрастаться до примерно 200 тысяч записей в сутки. Каждую ночь он обнуляется.
Так вот.. нарисовалась такая картина
# Query_time: 11 Lock_time: 0 Rows_sent: 0 Rows_examined: 0
INSERT INTO reklama_show_log (slot,banner,time,ip,order_id) VALUES ..
11 секунд на вставку!
Помогите пожалуйста советом, как тут поступить? Таблицу переделать как-то или логику хранения.
Структура таблицы:
CREATE TABLE reklama_show_log (
id int(15) NOT NULL auto_increment,
slot int(15) NOT NULL default '0',
banner int(15) NOT NULL default '0',
time int(15) NOT NULL default '0',
ip varchar(15) NOT NULL default '',
order_id int(15) NOT NULL default '0',
PRIMARY KEY (id),
KEY ip (ip,slot,banner,order_id)
) TYPE=InnoDB;
InnoDB посоветовали использовать в службе поддержки. Сказали, что оно, якобы, оптимальнее для INSERT.
Заранее спасибо!
Всем привет!
Возникла проблема. У нас на портале ведётся лог показа внутренних баннеров. В последнее время лог стал разрастаться до примерно 200 тысяч записей в сутки. Каждую ночь он обнуляется.
Так вот.. нарисовалась такая картина
# Query_time: 11 Lock_time: 0 Rows_sent: 0 Rows_examined: 0
INSERT INTO reklama_show_log (slot,banner,time,ip,order_id) VALUES ..
11 секунд на вставку!
Помогите пожалуйста советом, как тут поступить? Таблицу переделать как-то или логику хранения.
Структура таблицы:
CREATE TABLE reklama_show_log (
id int(15) NOT NULL auto_increment,
slot int(15) NOT NULL default '0',
banner int(15) NOT NULL default '0',
time int(15) NOT NULL default '0',
ip varchar(15) NOT NULL default '',
order_id int(15) NOT NULL default '0',
PRIMARY KEY (id),
KEY ip (ip,slot,banner,order_id)
) TYPE=InnoDB;
InnoDB посоветовали использовать в службе поддержки. Сказали, что оно, якобы, оптимальнее для INSERT.
Заранее спасибо!