2010-11-29 10 views
1

大きなデータベースがあり、時間間隔に基づいてより小さなデータベースに分けています。これにより、クエリ時間が大幅に短縮されます。クエリでは、同一のスキーマを使用して、あるデータベースから別のデータベースに結果セットをコピーできますか?Mysqlのクエリ - 結果セットをあるデータベースから別のデータベースにコピー

基本的に同じコードブロックで行われた選択とそれに続く更新?

おかげで、

slothishtype

答えて

3

のデータのコピーは、あなたがそれをに複製したい他のデータベースとそれを修飾する必要があります以外@slotishtypeが記述とほぼ同じくらい簡単にする必要があります。

create table OtherDatabase.Student Select * from FirstDatabase.student 

ただし、同じスキーマのコピーについて言及したとおり、それは別のものです。すべてのR/Iルール、トリガーなどが必要な場合は、データベーススキーマを最初から(すべてのテーブル、インデックスなどを作成している)ダンプし、新しいデータベースで実行する必要があります。ただし、自動インクリメントの列がある場所で問題が発生する可能性があります。読取り専用の自動インクリメント列には書き込むことはできません。データベースはそれを制御します。しかし、そのようなケースが存在する場合は、それらの列を整数データ型(または同様のもの)として作成し、実行する必要があります。

insert into OtherDatabase.Student (field1, field2, etc) 
    select field1, field2, etc from FirstDatabase.student 
0

それが新しいデータベースに追加する必要がない場合には、これは問題ないでしょう。

学生

EDIT SELECT * FROM STUDENT1のCREATE TABLE :レコードの場合:これはインデックスなどに重ねて表示されません。

これは、howe ver、will:

CREATE TABLE student_new LIKE student; レシピを挿入する_新しいSELECT * FROM student;他に1つのデータベースから

slotishtype

関連する問題