プロジェクト(nodejs)では、一度に複数のデータをデータベースに挿入する必要があります。データベースはMySQLです。ループ挿入のパフォーマンスが悪すぎるため、バッチ挿入を使用してデータ挿入のパフォーマンスを向上させるようなものです。 バッチ挿入用のデータベースのテーブル構造は次のとおりです。 1. データベース接続 var mysql = require('mysql'); // データベース情報 var connection = mysql.createConnection({ ホスト: 'localhost', ユーザー: 'データベースユーザー名', パスワード: 'データベースログインパスワード', データベース: '操作データベース名' }); 挿入されたデータをネストされた配列に変換する たとえば、挿入する 2 つのデータ: 記録1: 出典:"インデックス" 「www.alibaba.com」へ ステータス:1 新着:0 記録2: 出典:"index1" 宛先:"www.google.com" ステータス:1 新着:0 次の形式に変換します。 var値 = [ ["インデックス","www.alibaba.com",1,0], ["インデックス1","www.google.com",1,0] ]; 挿入文を書く var sql = "url(`from`,`to`,`status`, `is_new`) の値にINSERT INTO ?"; クエリ関数を呼び出してデータの挿入を完了します connection.query(sql, [値], 関数 (err, 行, フィールド) { もしエラーが起きたら console.log('挿入エラー - ', err.message); 戻る; } console.log("挿入成功"); }); 完全なコード: var mysql = require('mysql'); // データベース情報 var connection = mysql.createConnection({ ホスト: 'localhost', ユーザー: 'データベースユーザー名', パスワード: 'データベースログインパスワード', データベース: '操作データベース名' }); var値 = [ ["インデックス","www.alibaba.com",1,0], ["インデックス1","www.google.com",1,0] ]; var sql = "url(`from`,`to`,`status`, `is_new`) の値にINSERT INTO ?"; connection.query(sql, [値], 関数 (err, 行, フィールド) { もしエラーが起きたら console.log('挿入エラー - ', err.message); 戻る; } console.log("挿入成功"); }); 同時に、トランザクションベースの操作をここに記録します(まだ実践していないため、具体的な効果は不明です) トランザクションループを使用して挿入し、挿入が失敗した場合はロールバックします。 mysqlモジュール、connection.beginTransactionはトランザクションを実行するためのものです 次に、渡された配列に対してループ挿入や更新などの操作を実行する関数をここでカプセル化します。 1 つでも失敗した場合はロールバックし、すべてが正しければコミットします。 要約する 上記は、Node.js で MySQL データベースにバッチデータを挿入する方法について紹介したものです。お役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
<<: ウェブサイトのコンテンツが検索エンジンに含まれないようにする方法
1. データベースクエリの速度に影響を与えるものは何ですか? 1.1 データベースクエリ速度に影響を...
ZooKeeperとはZooKeeper は、分散アプリケーションに効率的で可用性の高い分散調整サ...
序文すでに Docker をインストールしており、Docker について簡単に理解しています。ここで...
ps コマンドを使用できます。プロセスの PID など、現在実行中のプロセスに関する関連情報を表示で...
nGrinderとは何ですか? nGrinder は、スクリプトの作成、テストの実行、監視、結果レポ...
黄金律常に同じコーディング標準セットに従ってください。同じプロジェクトに何人の人が関わっているかに関...
Linux システムでは、chmod コマンドと chown コマンドの両方を使用して権限を設定でき...
序文CentOS に MySQL をインストールして設定する手順は次のとおりです。文章yumソースか...
目次予備作業バックエンド構築フロントエンドページダイレクトレンダリングsetTimeout ページン...
この記事では、3D テキストのホバー変更効果を実現するための CSS3 のサンプル コードを紹介しま...
ご存知のとおり、CSS の絶対位置はデフォルトでドキュメントに応じて設定されます。たとえば、posi...
Linux 仮想マシン: VMware + Ubuntu 16.04.4 Windows ネイティブ...
この記事では、参考までに、テキストループスクロールを実現するアプレットの具体的なコードを例を挙げて紹...
この記事の例では、ログインフォームを実装するためのJavaScriptの具体的なコードを参考までに共...
目次文字列の長さ: 長さcharAt() charCodeAt()文字列に値が含まれているかどうかを...