0

実行するクエリがあります。これは Insert from Select ステートメントであり、文字通り数秒で終了し、130 万件のレコードを簡単に挿入できます。

新しい要件があります。作成されて挿入されるテーブルは、同じサブネット上の別の mysql サーバーに存在する必要があります。

これはどのように行うことができますか?これを行う最も効率的な方法は何ですか? テーブルをファイル レベルでバックアップし、それを新しいサーバーにコピーする必要がありますか?

または、両方のデータベースに対してクエリを実行する必要がありますか? その場合、どのくらいの時間がかかりますか?

このプロセスは手動で行う必要があります -

これを行うために使用する現在のコードの例を次に示します。

$populateNewTable = "insert into tbl_free_minutes_".strtolower(date("M")).date("Y")." (cust_id,telephone_number,state,created_datetime,plan_id,requested_planid) SELECT id,telephone_number,state,created_datetime,plan_id,requested_planid FROM tbl_customer WHERE created_datetime <= '".$date." 23:59:59' AND account_status IN ( 'Active', 'ActiveLL','Suspend') AND  plan_id IN ('14','13','15','16','17','19','20','21','22','23','24','60','26', '27','28','29','30','31','32','33','34','38','39','40','44','45','46','47','48', '49','50','51','52','53','54','55','56','57','58','59','35','36','66','63','64', '65','67','68','69',76,77,78,79,82,83,84,85,86,87,88,89,93,94,95,96) and unlimited_plan != 'Y' ";

サス

4

1 に答える 1

4

「SELECT ... INTO OUTFILE」を使用して、最初のサーバーでデータを抽出することをお勧めします。
次に、クエリによって作成されたファイルを 2 番目のサーバーに転送します。
最後に、2 番目のサーバーで「LOAD DATA INFILE」を使用して、データをテーブルにロードします。

いくつかのリンク:
http://dev.mysql.com/doc/refman/5.5/en/select-into.html
http://dev.mysql.com/doc/refman/5.5/en/load-data.html

于 2012-06-01T16:56:02.907 に答える