每5分钟处理300万行数据。
数据流:从网络到tmp表的LoadData。 进行某种分组并保存到约10个不同的表。 最多运行7个会话,用于同时将数据保存到不同的表中。
我累了。
datadir=/data/MySQL
tmpdir = /mnt/sqlTmp
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
tmp_table_size=20G
max_heap_table_size=20G
max_connections = 20
key_buffer_size = 1G
sort_buffer_size = 2M
sql-mode = "NO_ZERO_IN_DATE"
secure-file-priv=""
innodb_buffer_pool_size = 1M
innodb_max_undo_log_size = 1M
innodb_log_file_size = 1M
innodb_flush_log_at_trx_commit = 0
character-set-client-handshake = FALSE
character-set-server = latin1
collation-server = latin1_bin
SET @null = SLEEP(2)
SET @ret = sys_exec(...
INSERT t_sav_day_hst(...
INSERT t_sav_day_uri(...
SET @null = SLEEP(2)
INSERT t_sav_rls_ip_hst(...
INSERT t_sav_rls_fgt_hst(...
INSERT t_sav_rls_pv_pv(...
REPLACE t_sav_dtl_eml(...
LOAD DATA INFILE ...
我的问题。我同时运行max 7 sql查询。但是如果我同时运行较少的查询。每个查询运行得更快。瓶颈是什么。我怎样才能使其运行更快? (所有表都在内存中,mysql tmpdir在内存中,没有表锁)