ホームページ  >  記事  >  バックエンド開発  >  PHP システムの 100 人が同時に mysql 挿入操作を処理しています。コードを最適化する良い方法はありますか?

PHP システムの 100 人が同時に mysql 挿入操作を処理しています。コードを最適化する良い方法はありますか?

WBOY
WBOYオリジナル
2016-06-13 12:20:14990ブラウズ

PHP システムで 100 人が同時に mysql 挿入操作を処理しています。コードを最適化する良い方法はありますか?
テーブルのタイプは myisam で、操作は同時実行されます。
をロックする必要があります。以下に説明するようなテーブルですか?
または、mysql は 100 件のリクエストを順番に処理するために自動的にキューに入れられます

mysql_query("LOCK TABLES `user` WRITE");//锁住`user`表<br />$sql = "INSERT INTO `user` (`id`, `username`, `sex`) VALUES (NULL, 'test1', '0')";<br />$res = mysql_query($sql);<br />if($res){<br />echo '提交成功。!';<br />}else{<br />echo '失败!';<br />}<br />mysql_query("UNLOCK TABLES");//解除锁定

-----ソリューションのアイデア----------- -- --------
挿入時にテーブルをロックする必要はありません (ただし、アイドル時に挿入する句を付けることはできます)

テーブルをロックする必要がある場合があります。テーブルを変更する場合のみ。
しかし、複数の人が同時にレコードを変更できるようにするのは不合理です。ビジネス プロセスに問題があります
-----解決策のアイデア----------------------
挿入はアトミックな操作であるため、テーブルをロックする必要はありません。自動的にロックされます。
------解決策のアイデア----------------------
100 人ができるシステムを教えてください同時に挿入 シナリオの説明
-----解決策のアイデア----------------------
いいえ同時に何人挿入しても、データベースへの書き込みには順序が存在しますが、ユーザーはそれを感じられず、

を使用します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。