私はWordpressに移植しようとしているカスタムCMSを持っています。 (私はあなたが自分自身に尋ねるのを見ることができます:
カスタムCMSにこだわらないのはなぜですか?
まあ、それは時代遅れで、不格好で、そして維持するには面倒になり過ぎています。 WordPressには、私たちが本当に活用したいと思う多くの機能もあります。
だからここに問題があります - 私たちには主なタイプのコンテンツがあります(それらをツアーと呼んでみましょう)。各ツアーには、約30個のメタデータが関連付けられています(Tours
テーブルの現在異なる列すべて)。私たちは現在約60万ツアーを持っています。
各ツアーには、インテリアイメージからエクステリア、間取り図まで、さまざまな種類のイメージが関連付けられています。各画像には、約10個のメタデータが関連付けられています(これもまた、現在Images
テーブルのすべての列)。私達は現在私達のシステムにおよそ約700万の画像を持っています。
あなたはおそらく私たちの問題を見ることができます - すべてのToursとImagesをデフォルトのwp_posts
とwp_postmeta
テーブルに入れると、wp_posts
の何百万行になるでしょう、そしてはるかwp_postmeta
テーブルのそれより。 mySQLが行数までどれだけ処理できるかはわかりませんが、特にwp_postmeta
テーブルを照会するときには、処理速度が遅くなる可能性があります。
私の質問:
私たちが議論した1つの可能性は、wp_posts
で「アクティブな」ツアーを保持し、古いツアーを別のテーブルにアーカイブすることだけです。誰かがこのようなことをするプラグインを知っていますか?
もう1つの可能性は、ツアーをwp_posts
テーブルに入れて、画像をそれとは別にしておくことです。私たちが本当に使いたいのは、Wordpressの画像アップローダーです。画像データの保存場所を上書きする方法はありますか。
このような大量のデータをWordpressにどのように実装するのが最もよいかについての他の提案はありますか?
ツアーを投稿(またはカスタム投稿)として挿入し、そのIDがツアー投稿の投稿IDと一致するカスタム参照テーブルを使用することをお勧めします。
Wordpressの組み込みメタボックス機能を使用して、投稿編集ページで各ツアーを編集できます。
あなたは 'save_post'アクションにフックすることによってあなたの参照テーブルを更新することができます。
この参照表をMYISAMとして作成し、検索可能列の索引付けとともに固定列幅を使用することを選択した場合は、検索速度が大幅に向上します。
大量のデータがある場合は、このオプションを使用して、Wordpressの優れた組み込み機能の多くを活用するだけでなく、余分なデータをすばやく検索できます。
http://podsframework.org/ をご覧ください。それはあなたがあなたが必要とするあらゆる種類のオブジェクトのためにスタンドアローンテーブルを作成することさえ可能にするカスタムポストタイプエンハンサーです。