все. Вот проблема в моем сервере mysql.
У меня есть таблица около 40 000 000 строк и 10 столбцов.
Его размер составляет около 4 ГБ. И двигатель является innodb.
Это основная база данных, и только один такой sql-код.split table performance in mysql
insert into mytable ... on duplicate key update ...
А около 99% Прикладных выполнена update
часть.
Теперь сервер становится все медленнее и медленнее. Я слышал, что таблица split может повысить ее производительность. Затем я попробовал на своем персональном компьютере, разбил на 10 таблиц, не смог, также попробовал 100, тоже не удалось. Скорость стала медленнее. Поэтому мне интересно, почему разделение таблиц не улучшило производительность?
Заранее спасибо.
болеедетали:
CREATE TABLE my_table (
id BIGINT AUTO_INCREMENT,
user_id BIGINT,
identifier VARCHAR(64),
account_id VARCHAR(64),
top_speed INT UNSIGNED NOT NULL,
total_chars INT UNSIGNED NOT NULL,
total_time INT UNSIGNED NOT NULL,
keystrokes INT UNSIGNED NOT NULL,
avg_speed INT UNSIGNED NOT NULL,
country_code VARCHAR(16),
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY(id), UNIQUE KEY(user_id)
);
PS:
Я также пробовал разные компьютеры с твердотельным накопителем и жестким диском, но не помогло тоже.
Но у моей компании нет большого бюджета для большего количества случаев. Есть ли способ, которым я могу попробовать? Большое спасибо –
, вы можете попытаться сделать резервную копию некоторых данных и удалить их, если вы разрешаете бизнес –
, или вы можете разделить таблицу на 7 или более таблицу. Прочитайте один стол в один день и создайте резервную копию и очистите другие таблицы. –