2016-05-02 8 views
0

そのクエリページ、50000クエリで構成されています。すべてのクエリは、挿入クエリです。 例: -一度にms-sqlのテーブルに50000を超える行を挿入する方法...?

CREATE TABLE states (
    id int primary key NOT NULL, 
    name varchar(30) NOT NULL, 
    country_id int NOT NULL , 
) 

INSERT INTO states (id, name, country_id) VALUES 
(1, 'Andaman and Nicobar Islands', 101), 
(2, 'Andhra Pradesh', 101), 
(3, 'Arunachal Pradesh', 101), 
(4, 'Assam', 101), 
(5, 'Bihar', 101), 
(6, 'Chandigarh', 101), 
(7, 'Chhattisgarh', 101), 
so - on ..... 
+0

私は1000行ごとにコミットすることを検討したいと思います。 – jarlh

+0

50000クエリですか?または1つのクエリで50.000行ですか? – PSVSupporter

+0

mysqlと対話する任意のプログラミング言語を使用してスクリプトを書くのではなく、 –

答えて

2

BULKインサートを使用する(実際には、1000以上の行)は、通常、より良い行を大量に挿入します。

BULK INSERTはSQL文(https://msdn.microsoft.com/en-us/library/ms188365.aspx)として、または.NETアプリケーションなどのコードでSqlBulkCopyオブジェクト(https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy(v=vs.110).aspx)を使用して作業する場合に使用できます。

BULK INSERTを使用すると、クライアントとサーバー間のピンポンの量を減らし、最小限のログを使用できるようにします(特定の条件では、DBはBulk-Logged回復モデルになります)特定時点のリストア)、一般にパフォーマンスが向上します。

BULK INSERTでは、たとえばCSVからデータを簡単にインポートすることもできます。 SQL Serverの一部としてインストールされた "Import and Export Data" wizzardを使用して、さまざまなソースデータからデータをインポートできます。バックグラウンドでは、BULK INSERTを使用するbcpを使用します。

+0

私はバックエンドのMs-SQLを使用してそれをやりたいのです... –

+0

xml解析エラー –

関連する問題