2017-01-09 7 views
0

データベーステーブル(レコード名)のレコードが削除され、同じ属性の別のデータベーステーブル(完全名)に挿入されるボタンをクリックすると、次のコードが実行されます。インデックスによるデータベースパフォーマンスの向上

<?php 
    include("includes/db.php"); // contains database connection 

    if(isset($_GET['del'])) 
    { 
     $id = $_GET['del']; 

     $sql1="INSERT INTO complete 
        (`OrderNo.`,`NIC`,`DP`,`Address`,`DPTime`,`Telephone`,`Email`, 
        `Image1`,`ImageName1`, 
        `Image2`,`ImageName2`, 
        `Image3`,`ImageName3`) 

        SELECT 
         `OrderNo.`,`NIC`,`DP`,`Address`,`DPTime`,`Telephone`,`Email`, 
         `Image1`,`ImageName1`, 
         `Image2`,`ImageName2`, 
         `Image3`,`ImageName3` 
        FROM `order` 
        WHERE `OrderNo.` = '$id' "; 
     $res1= mysqli_query($db,$sql1) or die("Failed".mysqli_error($db)); 

     $sql2= "DELETE FROM `order` WHERE `OrderNo.` = '$id' "; 

     $res2= mysqli_query($db,$sql2) or die("Failed".mysqli_error($db)); 

     echo "<meta http-equiv='refresh' content='0;url=vieworders.php'>"; 

    } 
?> 

'where'句に 'Orderno'があるためです。属性は、orderNoの索引を使用してデータベースの効率を向上させることができます。属性!どうすればこれを達成できますか?ここでは、 "Order(orderNo。)"に "CREATE INDEX orderindex"というクエリを置く必要がありますか?

+0

create indexクエリは一度だけ使用されます。上記のコードでは不要です。 – nogad

+0

その期間に気をつけてください!それはあなたに構文エラーを与えるでしょう。 –

答えて

0

MySQLクライアント(コンソールmysql、phpMyAdmin、heidisql、workbanch)を実行して実行することができます。

関連する問題