Mysql中大表新增索引的辦法

2022-02-19 02:06:59 字數 2059 閱讀 2020

hash索引與 btree索引的區別

creating indexes/sorting on very large tables in mysql

mysql load data infile - acceleration?

load data infile – performance case study

一、進入控制台

mysql -uroot -pdsideal4r5t6y7u

二、備份

select * from t_resource_base into outfile '/tmp/t_resource_base.txt' fields terminated by ',' enclosed by '"';

在linux中分割檔案

mkdir /usr/local/prefix -p

參考:split -a 2 -d -l 50000 /tmp/t_resource_base.txt /usr/local/prefix

三、刪除索引或者建立索引

create index index_name on table_name (column_list)

drop index index_name on talbe_name

四、,執行匯入(load data infile)

優化mysql引數:

mysql bulk data loading for innodb tables

set autocommit=0;

set unique_checks=0;

set foreign_key_checks=0;

set sql_log_bin=0;

set @innodb_additional_mem_pool_size=26214400;

set @innodb_buffer_pool_size=1073741824;

set @innodb_log_buffer_size=8388608;

set @innodb_log_file_size=268435456;

五、mysql > use dsideal_db;

mysql > truncate table t_resource_base ;

六、load data infile '/usr/local/prefix00' ignore into table dsideal_db.t_resource_base fields terminated by ',' enclosed by '"';

load data infile '/usr/local/prefix01' ignore into table dsideal_db.t_resource_base fields terminated by ',' enclosed by '"';

load data infile '/usr/local/prefix02' ignore into table dsideal_db.t_resource_base fields terminated by ',' enclosed by '"';

load data infile '/usr/local/prefix03' ignore into table dsideal_db.t_resource_base fields terminated by ',' enclosed by '"';

load data infile '/usr/local/prefix04' ignore into table dsideal_db.t_resource_base fields terminated by ',' enclosed by '"';

load data infile '/usr/local/prefix05' ignore into table dsideal_db.t_resource_base fields terminated by ',' enclosed by '"';

mysql > commit;

七、恢復現場

set autocommit=1;

set unique_checks=1;

set foreign_key_checks=1;

set sql_log_bin=1;

mysql 表 索引 mysql 為表新增索引

索引作用 在索引列上,除了上面提到的有序查詢之外,資料庫利用各種各樣的快速定位技術,能夠大大提高查詢效率。特別是當資料量非常大,查詢涉及多個表時,使用索引往往能使查詢速度加快成千上萬倍。例如,有3個未索引的表t1 t2 t3,分別只包含列c1 c2 c3,每個表分別含有1000行資料組成,指為1 1...

mysql給資料量大的表新增索引的辦法

有乙個問題,一張表有3百萬條記錄,隨著時間的增加,記錄量會更多,此時查詢速度很慢。在建立此表前沒有未相應字段新增索引,所以此時需要為表新增索引。但是因為資料量大的原因,索引新增不成功,想了很多辦法,終於在短時間內解決了。辦法如下 1 進入mysql介面。mysql uroot hlocalhost ...

mysql 新增索引

mysql索引原理 1.新增primary key 主鍵索引 mysql alter table table name add primary key column 2.新增unique 唯一索引 mysql alter table table name add unique column 3.新增...