用PDO执行大的Mysql文件?

时间:2016-11-22 09:02:42

标签: php mysql pdo

我正在建立一个自动创建网站系统...当我为我的客户安装网络时,在步骤我执行我的sql文件我正在使用这样:

# MySQL with PDO_MYSQL  
            $db = new PDO("mysql:host=$mysqlHostName;dbname=$mysqlDatabaseName", $mysqlUserName, $mysqlPassword);
            $query = file_get_contents($local_sql); //Local file abc.sql
            $stmt = $db->prepare($query);

            if ($stmt->execute()){ 

我的问题是我需要创建多达117个表,并且在此文件上有许多插入sql。

每当我建立2个或更多的网站时,它会冻结我的服务器并让它死掉。

我的问题是有任何解决方案吗?可以按照我使用的方式更快地执行一个大的sql文件吗?

对不起,如果我的英语太糟糕了。

谢谢大家!

1 个答案:

答案 0 :(得分:-2)

尝试一个接一个地执行您的查询。解析SQL文件并在循环中执行查询,如下所示:

$queries = explode(';', $query);
foreach ($queries as $query) {
    $stmt = $db->prepare($query);
    $stmt->execute();
}