私たちはMySQLからPostgreSQLに移行しました。毎分の特定の行が大幅に更新されます。 MySQLで製品が動作していた期間は問題はありませんでしたが、PostgreSQLに移行した後、私たちは非常に多くのデッドロックに直面しました。同時更新MySQLとPostgreSQL?
テーブル構造。
Create table tab(col1 int , col2 int , col3 int, PRIMARY KEY(col1));
インデックスがありません。
デッドロッククエリ -
Update tab set col2=col2+1 where col3=xx;
(はい、結果に対して複数の行が存在することになります)。
私の質問:デッドロックを回避するためにMySQLがこの状況をどのように処理しましたか? (この質問については、このクエリに関するPostgreSQLの問題は、同時更新が行われるたびに異なる順序で行が取得されるためであると仮定します)。
私もデッドロックに直面しているかもしれませんが、PostgreSQLでどのように起こったのかは間違いありませんでした。
https://dba.stackexchange.com/questions/151813/why-can-mysql-handle-multiple-updates-concurrently-and-postgresql-cant ここに投稿された回答は、著者がPostgreSQLとHOTアップデートのアップデートアーキテクチャに不満を募らせていたため、それほど説得力がありませんでした。
この問題を避けるためにMySQLを有効にしたアーキテクチャの違いを知りたいと思います。
私は、これはどちらかここに質問として、スタックオーバーフローが適切であるかわからない、より具体的なアプリケーションの解決の問題は 'されていませんどのようにこのアプリケーションはこれを行うのですか?... mysqlはオープンソースなのでmysql開発者コミュニティに相談します – MageeWorld
なぜダウンボートを取得しているのか分かりませんが、これはかなり賢明です。 –
詳細については、http://dba.stackexchange.com/q/151813/1822をご覧ください。 –