다음 표에 삽입하는 데 최대 70 초가 걸립니다.
CREATE TABLE IF NOT EXISTS `productsCategories` (
`categoriesId` int(11) NOT NULL,
`productsId` int(11) NOT NULL,
PRIMARY KEY (`categoriesId`,`productsId`),
KEY `categoriesId` (`categoriesId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
테이블에는 약 100,000 개의 행이 있으며 디스크에서 7MB를 사용합니다.
쓰기 성능을 향상시킬 수있는 MySQL의 설정이 있습니까?
내 my.cnf
파일은 다음과 같습니다.
log-slow-queries="/var/log/mysql/slow-query.log"
long_query_time=1
log-queries-not-using-indexes
innodb_buffer_pool_size=4G
innodb_log_buffer_size=4M
innodb_flush_log_at_trx_commit=2
innodb_thread_concurrency=8
innodb_flush_method=O_DIRECT
query_cache_size = 6G
key_buffer_size = 284M
query_cache_limit = 1024M
thread_cache_size = 128
table_cache = 12800
sort_buffer_size=2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
read_buffer_size=128K
open_files_limit = 1000
table_definition_cache = 1024
table_open_cache = 6000
max_heap_table_size=512M
tmp_table_size=4096M
max_connections=1000
thread_concurrency = 24
하드웨어 설정은 다음과 같습니다.
- 델 R710
- RAID10
- 48G RAM
이 하드웨어가 주어지면 문제가 하드웨어 병목 현상이 될 것으로 기대하지 않습니다.