2016-10-11 30 views
0

合計6つの異なるテーブルを選択してからテーブルに挿入してから別の選択をします。挿入部分をスキップして選択と結合を行う方法があるのか​​疑問に思っていましたすべてのテーブルデータ。選択と挿入の問題が次にaproachを選択すると、約1k +レコードが挿入されていると実際には遅くなります。あなたがSQLで何ができるかをPHPで複製しているようだ私にはこの複数の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

ような何かをしようと1分以上

イムに30秒程度かかります。上記のsqlのコードは次のようになります。

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

正確に日付フィールドにあるデータに応じて、order by句を調整する必要があります。それ以外の場合は、上記のsqlコードは、PHPコードとまったく同じ結果を生成する必要があります。

関連する問題