小编san*_*uda的帖子

在几百万条记录后,mysql插入索引表需要很长时间

我有一张这样的桌子

CREATE TABLE IF NOT EXISTS `dnddata` (
  `numbers` varchar(10) NOT NULL,
  `opstype` char(1) NOT NULL,
  PRIMARY KEY (`numbers`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (numbers)
PARTITIONS 25 */;
Run Code Online (Sandbox Code Playgroud)

我必须插入 3 亿条记录。我每次使用load data in filecsv 文件插入 1000 万条记录。

第一次插入 1000 万条记录需要近 5 分钟。时间每一次都在逐渐增加。在 3000 万条记录后,它停止插入并且内存使用 100% 服务器没有响应。

在我的my.cnf文件设置下方

bulk_insert_buffer_size = 100M
key_buffer = 100M
sort_buffer_size = 50M
read_buffer = 50M
Run Code Online (Sandbox Code Playgroud)

我正在使用具有 2 G 内存的 CPU。

3000 万条记录的详细信息

    Space usage
Type    Usage
Data    545.3   MiB …
Run Code Online (Sandbox Code Playgroud)

mysql myisam performance

7
推荐指数
1
解决办法
2万
查看次数

MSQL 状态“关闭表”花费的时间是进程的两倍

我有一个需要很长时间的删除查询。当我办理登机手续时,processlist该状态显示为“正在关闭的桌子”。关闭桌子需要很长时间。

示例:
我运行一个查询,总时间为1:42秒,其中80-90秒用于关闭表。

这发生在所有查询中,例如load data,selectinsert

以下是my.cnf设置:

key_buffer_size = 2G
sort_buffer_size = 8M
read_buffer_size = 10M
read_rnd_buffer_size = 10M
join_buffer_size = 2M
bulk_insert_buffer_size = 100M
myisam_sort_buffer_size = 64M

#tmp_table_size = 100M
#max_heap_table_size = 64M
#max_allowed_packet = 64M

table_cache=1024
Run Code Online (Sandbox Code Playgroud)


我的记忆信息

[root@localhost ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          7862       6686       1175          0         11       4091
-/+ buffers/cache:       2583       5278
Swap:        15998         18      15980
Run Code Online (Sandbox Code Playgroud)


请告诉我需要在 …

mysql performance mysql-5.5

5
推荐指数
1
解决办法
6317
查看次数

标签 统计

mysql ×2

performance ×2

myisam ×1

mysql-5.5 ×1