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

複数の挿入呼び出しを行うか、XMLを渡す必要がありますか?

    違法ではありませんが、あなたはこれを考えすぎています。

    情報を収集し、すべてをまとめたら、トランザクションを作成して、新しい行を1つずつ挿入します。トランザクションは短命であるため、ここではパフォーマンスに影響はありません。

    問題は、接続でトランザクションを作成し、ユーザー行を挿入してから、ユーザーがさらにプロファイル情報を入力するのを待ってから、それを挿入してから、アドレス情報が追加されるのを待ってから、それを挿入する場合です。しないでくださいこれを行う 、これは不必要に長時間実行されるトランザクションであり、問​​題が発生します。

    ただし、シナリオ(すべてのデータがある場合)はトランザクションの正しい使用法であり、データの整合性を確保し、データベースに負担をかけず、それ自体でデッドロックを引き起こすことはありません。

    これがお役に立てば幸いです。

    P.S. Xmlアプローチの欠点は、複雑さが増すことです。コードはxmlのスキーマを知る必要があり、ストアドプロシージャはXmlスキーマも知る必要があります。ストアドプロシージャには、xmlを解析してから、行を挿入するという複雑さが加わります。単純な短期間のトランザクションが複雑であるという利点は実際にはわかりません。



    1. SQLスクリプトからシェルスクリプトへの戻り値

    2. MySQLの結果を2つのクエリのPHP配列に保存する

    3. SQL Server、ML.NET、C#を使用した機械学習モデルの構築

    4. グループごとに<whatever>が最も高い/最も小さいレコードを取得します