mysql 效能優化 資料匯入

2021-08-27 01:56:30 字數 1289 閱讀 3185

[b]mysql資料匯入效能優化(**級別)[/b]

1. 使用preparedstatment

2. 使用批量處理,一次提交

3. mysql 批量插入資料新增引數rewritebatchedstatements時,效能比不新增時要最高可提高10倍以上的速度。url如下:

jdbc:mysql://%ip%:3306/%sid%?rewritebatchedstatements=true

4. 使用load data infile

a) 使用load data infile sql如下:

load data local infile 'file/loader_data_file' into table test_key_value character set utf8 fields terminated by ',' enclosed by '\"' lines terminated by '\r\n' (`key`,`value`);

1. (`key`,`value`) 為匯入指定字段,若不寫,預設全部匯入。

2. terminated by '\r\n', 在這裡要注意最後乙個欄位的值是否正確,有時候最後field value 是'/r',有時候會出現只能插入一行值。

b) null和「null」的插入

在匯入語句中 使用 enclosed by '\"', 此時若檔案中有null值,則插入資料庫是null物件,若檔案中的值是「null」, 則,插入資料庫中的值是null字串

c) 一般情況下field值在檔案中使用英文逗號分割,對應sql中是 fields terminated by ','

d) 設定字元編碼格式: character set utf8 注意此處是utf8 而不是utf-8,

data file demo:

1,key1,value1

2,key2,value2

3,key3,value3

4,key4,value4

load data infile demo:

1. create table:

create table `test_key_value` (

`id` bigint(20) not null,

`key` varchar(32) default null,

`value` varchar(128) default null

primary key (`id`)

) engine=innodb;

2. src:

mysql效能優化 mysql效能優化

優化方式 1.空間換時間 冗餘 2.時間換空間 字段優先使用型別 int date char varchar text 索引型別 btree索引 hash索引 索引的葉子下,存放乙個資訊指向所在行的資料位址。btree有利於範圍查詢,hash有利於精確查詢。btree用的更多一些。btree索引的常...

mysql的效能優化 mysql效能優化

檢視安裝指令碼 select version 非互動式超時時間,如jdbc show global variables like wait timeout 互動式超時時間,如資料庫工具 show global variables like interactive timeout show sessi...

mysql 效能優化 命令 mysql效能優化

發現問題 當發現程式執行比較慢的時候,首先排除物力資源問題之後,就將注意力轉向mysq資料庫 1 首先確定執行慢的sql語句 mysql show full processlist 2 確認低效的查詢 多次執行第一步發現time耗費大的sql語句。檢視耗費的時間。3 分析效能 為sql生成乙個執行計...