2016-10-02 6 views
1

Grailsの上に構築されたブログサイトを実行しています。時間の経過とともに、mysqlデータベースが成長しています。 データベースのテーブル名は「post」です。この表には、ほぼ100万のエントリが含まれています。この表の問合せは非常に時間がかかるようになっています。パフォーマンスの向上:Grailsドメインクラスをアーカイブする方法

今、テーブルを分割しようとしていて、古いエントリをアーカイブしたいとします。そのため、複雑なデータベースクエリにかかる時間が短縮されます。私が達成しようとしています何

は、このようなもので、

class Post{ 
    //... properties 
} 

class PostArchive extends Post{ 

} 

このアプローチは、パフォーマンスを向上させるのだろうか?これらのタイプのタスクを達成するためのプラグインはありますか?

+0

これは、パフォーマンスが向上していないものを見ても性能が向上するかどうかは言うまでもありません。例えば。あなたの質問には、最適化しようとしているクエリは含まれていません。あなたがその情報を提供しない限り、これは良い答えを得られないと私は思います。 –

+0

投稿テーブルのSELECTクエリは、実行に時間がかかります。 クエリをユーザーテーブルと結合して、状況をさらに悪化させます。 – Meftaul

+0

索引などでデータベースを最適化しましたか?私は、アプリケーションを変更する前にそこから開始することを検討します。私が尋ねる理由は、何億ものレコードを持つGrailsアプリケーションがあり、しばしばそれらのテーブルから(複数の結合で)選択し、副次的な応答を見るためです。 –

答えて

0

コアセットアップで抽象ドメインを作成してから拡張します。だからあなたは持っているでしょう

abstract class BasePost { 

class Post extends BasePost{ 

class PostArchive extends BasePost{