9

私のサイトはVDSサーバーで実行されています。MySQLサーバーがInnoDBエンジンをサポートしていないことがわかったため、アプリケーションでデータベーストランザクションを使用できません。

トランザクションを使わない人もいるのではないかと思います。これは本当ですか?もしそうなら、MyISAMのさまざまなテーブルで関連する操作をどのように調整することができますか?

それ以外の場合、VDSで実行されているMySQLサーバーにInnoDBをインストールする方法はありますか?

ありがとう!

4

2 に答える 2

11

トランザクションが必要な場合は、トランザクションが必要であり、MyISAMはマスタードをカットしません。

一部のアプリケーションはトランザクションを必要としません。例えば; 一度に複数の関連するSQLステートメントを実行することはなく、複数のSQLステートメントをロールバックする必要がないアプリケーション。もう1つの例は、MySQLを単純なKey-Valueストアとして使用するアプリケーションです。データベースレベルのトランザクションサポートを必要としない多くのユースケースがあります。

VDSの詳細を知らずに、質問の2番目の部分に答えるのは困難です。あなたは誰をホスティングしているのですか?my.cnfを変更するためのシェルアクセスと権限がありますか?そうでない場合は、おそらくInnoDBを有効にできません。もしそうなら、MySQLでInnoDBを有効にする方法を詳しく説明する別のSOの答えがあります:mysqlでINNODBを有効にする方法

于 2012-08-28T23:44:20.973 に答える
4

多くの場合、エンジンを有効にするか、InnoDBコンポーネントを手動でインストールするか、デフォルトでそのエンジンを含むバージョンのMySQLを再インストールすることができます。MyISAMはクレイジーパンツデータベースであり、ばかげて高速ですが、信頼性が低く、システムが適切にシャットダウンされないと完全に破壊される傾向があります。

MyISAMでミッションクリティカルなアプリケーションを実行することは非常に悪い考えです。パフォーマンス上の理由でMyISAMテーブルが必要な場合は、常に使い捨てで、別のより信頼性の高いデータソースから簡単に再構築する必要があります。

于 2012-08-28T23:50:31.627 に答える