2012-08-28 4 views
9

私のサイトはVDSサーバー上で動作します。私はMySQLサーバがInnoDBエンジンをサポートしていないことを知りましたので、アプリケーションでデータベーストランザクションを使用することはできません。トランザクションのない生涯(MyISAM)

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

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

ありがとうございます!

+0

VDSのホスティングプロバイダは誰ですか? – theon

+0

VDS64.com - これらの人は素晴らしいです。 – Webmezha

答えて

11

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

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

あなたのVDSに関する詳細を知らなくても、質問の第2部分に答えることは難しいです。あなたは誰ですか? my.cnfを変更するためのシェルアクセス権とアクセス権はありますか?もしそうでなければ、おそらくInnoDBを有効にすることはできません。もしあなたがそうした場合は、MySQL上でInnoDBを有効にする方法を詳しく述べた別の答えがあります:How to enable INNODB in mysql

+0

ありがとう! ** my.cnf **で 'skip-innodb'を' innodb = ON'に変更しました。私のテーブルを変換しました。 – Webmezha

4

エンジンを有効にしたり、手動でInnoDBコンポーネントをインストールしたり、デフォルトではそのエンジンです。 MyISAMはcrazypantsデータベースです。あなたのシステムが適切にシャットダウンされない場合、愚かに高速ですが、信頼性が低く、完全に破壊される傾向があります。

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

関連する問題