sql >> データベース >  >> RDS >> Mysql

アプリケーションコードを再設計して、削減します。パフォーマンスの観点からのデータベースヒットの割合

    whileループでは、クエリ文字列のみを作成し、ループ外でステートメントを実行します。したがって、このようなものは機能するはずです(phpを書いたのは久しぶりなので、構文についてはわかりませんが、機能するはずです:

    public function initiateInserts()
    {
        //Open Large CSV File(min 100K rows) for parsing.
        $this->fin = fopen($file,'r') or die('Cannot open file');
    
        //Parsing Large CSV file to get data and initiate insertion into schema.
        $query = "";
        while (($data=fgetcsv($this->fin,5000,";"))!==FALSE)
        {
            $query = $query . "INSERT INTO dt_table (id, code, connectid, connectcode) 
                     VALUES (" . $data[0] . ", " . $data[1] . ", " . $data[2] . ", " . $data[3] . ")";
        }
         $stmt = $this->prepare($query);
         // Execute the statement
         $stmt->execute();
         $this->checkForErrors($stmt);
    }
    


    1. MySQL OR MATCHが複数のテーブルでハングする(非常に遅い)

    2. MysqlクエリでPHP関数strtotimeを使用できますか

    3. T-SQLは、2つの日付の間の稼働日数を取得します

    4. ORDER BYでCASE関数を使用するにはどうすればよいですか?