我正在建立一个自动创建网站系统...当我为我的客户安装网络时,在步骤我执行我的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文件吗?
对不起,如果我的英语太糟糕了。
谢谢大家!
答案 0 :(得分:-2)
尝试一个接一个地执行您的查询。解析SQL文件并在循环中执行查询,如下所示:
$queries = explode(';', $query);
foreach ($queries as $query) {
$stmt = $db->prepare($query);
$stmt->execute();
}