MySQL发送大量数据超时/崩溃


MySQL timeout/crashing sending much data

我正试图使用http://www.maatwebsite.nl/laravel-excel/docs

每一行都是需要保存的用户,但当它在180-200行左右运行时,Laravel崩溃。

这可能是Laravel、我的XAMPP服务器(我运行脚本的地方)还是数据库本身?

        $path = Input::file('file')->getRealPath();

    Excel::load($path, function($reader) {
        $data = $reader->get();
        foreach($data as $row) {
            $rows = User::where('email', $row['e_postadress'])->count();
            if($rows == 0)
            {
                if($row['status'] == "Administratör")
                {
                    $admin = 1;
                }
                else 
                {
                    $admin = 0;
                }
                $user = new User;
                $user->email = $row['e_postadress'];
                $user->fname = $row['fornamn'];
                $user->lname = $row['efternamn'];
                $user->save();
            }
        }
    }, 'UTF-8'); 

Hi:)我已经用MySQL命令解决了这个问题:LOAD DATA INFILE

http://dev.mysql.com/doc/refman/5.1/en/load-data.html

您可以在几秒钟内添加大文件。但我认为你必须在.csv 中转换你的.xls

示例(codeIgniter语法,请适应laravel):

        $dataload = 'LOAD DATA LOCAL INFILE "Path_of_the_file" 
                    REPLACE
                    INTO TABLE gc_csv CHARACTER SET "latin1"
                    FIELDS TERMINATED BY "'t"
                    IGNORE 1 LINES
                ';
    return (bool)$this->db->query($dataload);