mysql 插入20萬條數據


1. 用c語言寫20萬條數據

  

#include<stdio.h>
void pro_ID(char * str,int i){
    if(i%17576==0){
        ++*(str+1);
        *(str+2)=97;
        *(str+3)=97;
        *(str+4)=97;
        return ;
    }

    if(i%676==0){
        ++*(str+2);
        *(str+3)=97;
        *(str+4)=97;
        return ;
    }
    if(i%26==0){
        ++*(str+3);
        *(str+4)=97;
        return ;
    }
    ++*(str+4);
    return ;

}

int main(void){

    FILE * fp;
    fp = fopen("C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/data.txt","a+");
    if(fp == NULL )
        return 0;

    char str[9]="\"aaaa\",\"";
    char str1[30]="\",\"TNT(1stik)\",\"";
    char str2[30]="\",\"TNTredsingle\"";
    int i=0,i1 =0 , i2 = 0;

    for(i = 1 ; i < 2000 ; i++){
        pro_ID(str,i);
        fprintf(fp,"%s%d%s%.2f%s\n",str,1001,str1,5.99,str2);
    }


    return 0 ;
}

2.  mysql語句

load data infile "C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/data.txt" into table products fields terminated by ',' enclosed by '"' lines terminated by '\r\n';

實驗:直接用這個語句插入時候發現,2000條用了三秒的時間。需要改善

3. 20萬用了40秒

SET SESSION BULK_INSERT_BUFFER_SIZE = 256217728 ;
SET SESSION MYISAM_SORT_BUFFER_SIZE = 256217728 ;
load data infile "C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/data.txt" into table products fields terminated by ',' enclosed by '"' lines terminated by '\r\n';


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM