2016-07-27 15 views
3

INSERT INTOの違いと、パフォーマンスに関してはINSERTコマンドの違いを教えてください。私はINSERT INTOがより速く実行され、INSERTがネットワーク帯域幅がより少ないことを知っています。INSERTとSQLのINSERT INTO

INSERT INTOをどこで使用するかを判断できるように詳細に説明してください。INSERTのみを使用してください。

+0

'INTO'は、' INSERT'ステートメントではオプションです。 –

+0

INTOはオプションです。私はパフォーマンスの面で違いがあることを知っています。どちらが優れていますか? –

+4

[INSERTとINSERT INTO]の重複が考えられます(http://stackoverflow.com/questions/233919/insert-vs-insert-into ) – ehh

答えて

4

違いはありません。それは同じコマンドです。 into単語がsyntax

+0

INTOはオプションです知っている、私はパフォーマンスの面で差を尋ねています。 –

+1

**違いはありません**私が言ったように、それは**同じコマンドです** –

+0

@Pred 'its'は所有様式です。猫は尻尾を振った。「猫は尾を振った」ということは決してありませんでした。 – Cato

0

ではオプションパーツである2が同一であるため「パフォーマンスの面で違い」任意のがあってはなりませでしょう。

ここで、となりますINSERTのパフォーマンスに違いはありますか? ...

BEGIN TRANSACTION ... INSERT INSERT INSERT ... COMMIT

トランザクションの大カッコは「アトミックな作業単位」であり、そうすることでデータベースエンジンがより効率的に書き込みを実行できるようになることがあります。 (ただし、いわゆる「トランザクション分離レベル」オプションのため、ロックの意味もあります)詳細については、ドキュメントを参照してください。

+0

クライアント統計を使用してINSERT INTOとINSERTの両方の結果を確認しましたが、パフォーマンスに違いがあります。 INSERT INTOより速く実行します。ここでは、INSERTだけがネットワーク帯域幅を小さくします。だから間違いないと言って間違っている。 –

+0

FYI、this *は*間違っています。 T-SQLのINSERTステートメントの公式の構文は、https://msdn.microsoft.com/en-us/library/ms174335.aspxにあります。このページでは、 'INTO' *は** INSERTとターゲットテーブルの間で使用できるオプションのキーワード**であることを明確に述べています。* ##しかし、経験的な証拠を"見て "違いはありますが、 'EXPLAIN'ステートメントはそうでないことを証明します。標準SQLおよび他のほとんどの実装では、キーワードが必須です。 –