ホームページ  >  記事  >  バックエンド開発  >  次の 3 つのオプションのうち、最も速いのはどれですか_PHP チュートリアル

次の 3 つのオプションのうち、最も速いのはどれですか_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:51:20922ブラウズ

D0000D がフォーラムセクションに送信されました------------------------------------------ ------ ----------
No.0プレートデデクム
D8888D 投稿タイトル----------------------------------------------- -----------------------
次の 3 つのオプションのうち、最も速いのはどれですか?
D8888D の主な投稿内容------------------------------------------ --- ----------


mysqlテーブル
a、b、c、d、e、fフィールド

a は主キーで、型は vachar(20) です

合計 10,000 件のレコードがあるため、更新する必要があります
トランザクションを使用せずに次のステートメントを 10,000 回実行するには

オプション 1:
UPDATE テーブル SET b = 222、c = 333、d = 444 WHERE a = xx

オプション 2:
REPLACE INTO table VALUES($a,$b,$c,$d,$e,$f)

オプション 3:
書き込み待ってます

お答えしましょう




D8888D 返信内容 -------------------------------------------------- -----------------------
1.

D8888D 返信内容 -------------------------------------------------- -----------------------
私もこの問題について知りたいので、助けてください。

D8888D 返信内容 -------------------------------------------------- -----------------------
オプション 3! ~[img]http://www.phpchina.com/bbs/images/smilies/default/victory.gif[/img]

D8888D 返信内容 -------------------------------------------------- -----------------------
違いはないはずですよね?

D8888D 返信内容 -------------------------------------------------- -----------------------
作者はデータの同期に取り組んでいるようです。
データの同期には、追加、削除、変更の 3 つの要件があります。
オプション 1 は、変更のニーズのみを満たします。
オプション 2 は、追加と変更のニーズに対応します。

D8888D 返信内容 -------------------------------------------------- -----------------------
次のように、命令をデータベース サーバーに一度送信するだけで済むため、これを REPLACE INTO ステートメントにカプセル化する方が効率的である可能性があります:

REPLACE INTO table VALUES (1, 1, 1, 1),(2, 1, 1, 1),(3, 1, 1, 1),(4, 1, 1, 1);

D8888D 返信内容 -------------------------------------------------- -----------------------
[url=http://bbs.phpchina.com/redirect.php?goto=findpost&pid=1067540&ptid=126860]リンクタグ 6#[/url] ファアラン

はい!

ただし、変更するだけで済み、何も追加する必要はありません。

D8888D 返信内容 -------------------------------------------------- -----------------------
[url=http://bbs.phpchina.com/redirect.php?goto=findpost&pid=1067568&ptid=126860]リンクタグ 7#[/url] ロードトリップベイビー

replace into は実際には二次クエリであり、最初に削除してから追加します
しかし、利点は、使用していないときに一度に複数の文を結合できることです
最初に削除してから追加するため、同時実行性が高い場合はどうなるかわかりません。読み取りに注意する必要があります
。 まだ実際に試していないのでどれくらい速くなるのかは分かりません


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632569.html技術記事 D0000D がフォーラムセクションに送信されました------------------------------------------ ---- ---------- No0 プレート dedecms D8888D 投稿タイトル---------------------------- -- ----------------------- 以下は...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。