フィールドリビジョンテーブルを切り捨てても安全ですか?


13

D7はすべてのフィールドに対してfield_revisionテーブルを作成し、リビジョンがオフになっている場合でも、フィールドテーブルの対応するコンテンツを複製することに気付きました。

大きなテキストテーブルがあり、多くのスペース(数GB)を使用しています。

リビジョンテーブルを切り捨てても安全ですか?

PS:一方、私はこれをバグとして報告しました


これは実際には良い質問です!テーブルはコアによって作成されますが、リビジョンが有効な場合にのみレコードが挿入されると思います。
stefgosselin

ありがとう:)それも私が期待していたことでしたが、D7は関係なくリビジョンコピーを作成するようです。これはdrupal.stackexchange.com/questions/7027/…で確認されました。おそらくコアバグですか?
giorgio79

これをバグではなく機能として分類します;)それ以上のロジックは、気が変わってリビジョンをアクティブにすると、DBに過負荷がかかり、すべてのfield_revision_*テーブルが突然読み込まれることになると思います。
tostinni

1
私はたくさんありますが、これはcontribモジュールと関係があるとは思いません。ちょうど...あなたのDBの内部で見て、あなたはすべてのフィールドがfield_revisionテーブル関連した表示されます
giorgio79

回答:


3

私はそこだと思うフィールドSQL norevisionsモジュールはあなたを助けるでしょう。

フィールドSQL norevisionsは、エンティティリビジョンがMySQLストレージバックエンドに保存されるのを防ぐフィールドストレージバックエンドを提供します。

このモジュールの目的は、リビジョンを使用しない大規模なDrupalサイトに保存される重複データの量を減らすことです。フィールドを持つエンティティの作成中にクエリの数が半分になるという追加のパフォーマンス上の利点があります。

このモジュールでは、リビジョンフィールドの作成が許可されないため、クエリの数が減るにつれてパフォーマンスが向上します。さらに、ノードにリビジョンが追加されることはありません。

また、次のURLで提供されるいくつかのカスタムモジュールコードを使用できます。

http://www.ambidev.com/make-your-drupal-7-faster-by-removing-all-revisions/

リビジョンエントリを削除するこのモジュール:

https://www.drupal.org/project/node_revision_delete



0

いいえ、安全ではありません。Drupal 7を使用しています。自分のWebサイトでクイズモジュールを使用していますが、field_revision_ *をすべて空にしたときに少なくとも2つのエラーがあり、そのうち1つは実際には覚えていない変数エラーで、もう1つは質問が消えた。

奇妙なことに、答えの選択肢はありましたが、すべての質問はなくなりました。詳細については調べませんでしたが、field_revision_ *テーブルを元に戻し、正常に動作し始めました。

私が言えることは、クイズモジュールを使用してmyPHPAdminにアクセスし、これらのテーブルを切り捨てると、エラーが発生することです。クイズモジュールを使用しない場合、わかりません。しかし、それは防弾ではありません。実績のあるモジュールを使用してリビジョンをクリアすることをお勧めします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.