2016-10-11 154 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代碼完全相同的結果。