2016-10-11 78 views
0

我总共有6个不同的表,我选择然后插入到表之前,我做另一个选择我想知道是否有一种方法来跳过插入部分,只是做一个选择和合并所有表格数据。选择并插入然后选择aproach的问题是,当插入大约1k +个记录时,它会变得非常慢。它需要大约30秒至1分钟以上多sql选择然后插入

我尝试这样的事情

$sql = "select 1"; 
$statement = $conn->query($sql); 
$rowset = $statement->fetchAll(); 

$sql1 = "select 2"; 
$statement1 = $conn->query($sql1); 
$rowset1 = $statement1->fetchAll(); 

$combine = array_merge($rowset,$rowset1); 


foreach ($combine as $key => $part) { 
     $sort[$key] = strtotime($part['date']); 
} 
array_multisort($sort, SORT_DESC, $combine); 
+0

你需要给我们更多的细节。你在选择什么?你在插入什么,你如何插入,为什么? db-schema的外观是什么样的?你究竟在努力完成什么? –

回答

3

在我看来,你是在PHP你可以在SQL做复制。在SQL上面的代码看起来SG是这样的:

(select 1) 
union all 
(select 2) 
order by date desc 

您可能需要调整由根据什么数据,你到底有没有在日期字段条款的顺序。否则,上面的sql代码应该会产生与您的php代码完全相同的结果。