如何提高大型InnoDB表的LOAD DATA表现
mysql5的手册中提到,插入一条记录,所需的时间比例大概是:
1. 连接:(3)
2. 发送查询给服务器:(2)
3. 分析查询:(2)
4. 插入记录:(1x记录大小)
5. 插入索引:(1x索引)
6. 关闭:(1)
并且表的大小以logN(B树)的速度减慢索引的插入,因此提高插入速度的方法大概有以下7种:
1. 一个insert语句包含多个value值;
2. 使用insert delayed方法;
3. 使用insert into ...values(select ...from),即select的同时执行insert;
4. 使用load data infile;
5. 先禁掉索引,插入后再创建索引;
6. 写锁表,插入,解锁。原因是索引缓存区仅在所有insert语句完成后才刷新到磁盘上一次;
7. 增加key_buffer_size值来扩大键高速缓冲区。
如何提高大型innodb表的load data表现
mysql5的手册中提到,插入一条记录,所需的时间比例大概是:
1. 连接:(3)
2. 发送查询给服务器:(2)
3. 分析查询:(2)
4. 插入记录:(1x记录大小)
5. 插入索引:(1x索引)
6. 关闭:(1)
并且表的大小以logn(b树)的速度减慢索引的插入,因此提高插入速度的方法大概有以下7种:
1. 一个insert语句包含多个value值;
2. 使用insert delayed方法;
3. 使用insert into ...values(select ...from),即select的同时执行insert;
4. 使用load data infile;
5. 先禁掉索引,插入后再创建索引;
6. 写锁表,插入,解锁。原因是索引缓存区仅在所有insert语句完成后才刷新到磁盘上一次;
7. 增加key_buffer_size值来扩大键高速缓冲区。
Hadoop|
Apache Pig|
Apache Kafka|
Apache Storm|
Impala|
Zookeeper|
SAS|
TensorFlow|
人工智能基础|
Apache Kylin|
Openstack|
Flink|
MapReduce|
大数据|
云计算|
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....