ホームページ > バックエンド開発 > PHPチュートリアル > PHP は MySQL の START TRANSACTION を使用し、4 つの挿入ステートメントを囲むようにコミットします。トランザクションを使用しない場合よりも挿入が高速であることがわかります。これはなぜですか?

PHP は MySQL の START TRANSACTION を使用し、4 つの挿入ステートメントを囲むようにコミットします。トランザクションを使用しない場合よりも挿入が高速であることがわかります。これはなぜですか?

WBOY
リリース: 2016-06-13 12:56:39
オリジナル
969 人が閲覧しました

PHP で、mysql の START TRANSACTION と commit を使用して 4 つの insert ステートメントを囲んだところ、トランザクションを使用しない場合よりも挿入が高速であることがわかりました。
PHP で、mysql の START TRANSACTION を使用して 4 つの insert ステートメントを囲むと、トランザクションを使用しない場合よりも挿入が高速になることがわかりました。これはなぜですか?


-----解決策--------------------------------
これは相対的なものであり、絶対的なものではありません。一般に、インデックスによってクエリが高速化できると言われていますが、これはデータ量が一定の規模に達した場合にのみ当てはまります。個人的には、操作が簡単で、トランザクションを使用する効果があまり明らかではないと思います。この効果は、バッチで操作する場合にのみ顕著になります。たとえば、一度に 100 レコードを追加すると、トランザクションを使用する効果がより明らかになります。これは次のように理解できます。つまり、銀行にお金を預けに行って、10 枚の通帳を持って、1 つの窓口に行くほうが、10 か所の窓口に別々に行くより明らかに良いのです。列に並んで待つ必要がなくなります。これにより、アカウント情報を取得するプロセスが節約されます。
考えてみてください。トランザクションを使用する場合、各ステップの実行を監視し、失敗した場合はロールバックする必要があります。トランザクションを使用しないということは、最初のステップを実行した後、2 番目のステップが失敗しても問題はないので、10 のステップすべてが完了していることを確認する必要がないことを意味します。タオバオを例に挙げると、商品を閲覧する際にはトランザクションはまったく必要ありませんが、支払いの際にはトランザクションを使用します。トランザクションは、あることが完全に完了するか、何も行われないかを保証します。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート