ユーザーの検索履歴をすべて追跡して表示する必要があります。 1つの検索項目につき1つの行は、これを保存する最良の方法ではないように見えます。この種のデータを保存するには、他にどのような技術がありますか。これは一度だけの書き込みであり、常に読み込まれます。検索履歴は多くのページに表示されます。検索履歴 - スキーマの提案?
答えて
私は、ビジネスニーズとソルトトンとの潜在的な技術的問題(I.E.、データベースパフォーマンス)を分けることから始めます。
ビジネス上のニーズは、問題を明確にし、期待される結果が何かを明確にする必要があります。たとえば、すべての検索履歴を保存する必要がありますが、UIの目に見える部分に最新の50件だけを表示する必要があります。残りの検索履歴は、何らかのグループ分け(I.E.、年月)で表示され、別の画面/レポートからUI内にのみ表示されることがあります。
この必要性を理解すると、最も簡単で最も可能性の高いソリューションが表示されます。パフォーマンスがトラック上の問題である場合は、データを縦方向または横方向に分割することができます。最新の50件の検索のみを保持する上記の例を使用すると、アーカイブされた検索の最新の最新情報と他のテーブルを含む1つのテーブルを持つ複数のテーブルソリューションを作成できます。アーカイブされた検索履歴をXMLデータ型の何らかの形式で保存することができます。
希望するこれは役に立ちます
それが大きくて大きく成長するのは何が問題なのですか?どのくらい大きなですか?どのくらい遅いですか?
1億の行を含むテーブルから100行を検索するのにどれくらい時間がかかるかテストしましたか?インデックスについてどれだけ知っていますか?正規化されたデザインについてスタースキーマの設計について
これは100行ではありません。それは、今までに検索された、または誰かが入力したすべての単語を記録する生涯です。私は何かをする前に、このタイプの要件のための最良のデザインが何であるかを見ています。 – SeanD
- 1. 検索履歴アンドロイドクイック検索
- 2. Hbaseスキーマ設計の提案
- 3. 弾性検索履歴データの処理
- 4. リセットbash履歴検索位置
- 5. UISearchBarは履歴を検索します
- 6. PHP MySQLの検索の提案
- 7. アンドロイド検索:カスタマイズの提案のレイアウト
- 8. Android Search Framework、カスタム検索の提案
- 9. opengrokを使用して履歴を検索
- 10. リポジトリ間の履歴履歴
- 11. Googleのウェブ履歴から古い検索を取得する
- 12. Intellij IDEAに検索履歴はありますか?
- 13. GWT履歴:履歴トークン
- 14. 履歴に基づくパーソナライズ検索の結果
- 15. Ransack gemを使用してPaper_trailの履歴を検索する
- 16. テキスト検索の入力を避けるvimコマンド履歴
- 17. Netbeansのローカル履歴を検索できますか?
- 18. Emacsのファイル検索履歴を変更できますか?
- 19. Visual Studio 2010で検索/置換履歴を消去する
- 20. Lucene.Net、履歴データでNhibernateを検索する
- 21. Eclipseで検索履歴をクリアするには?
- 22. アンドロイドのクロムの履歴履歴
- 23. Bing/Google検索やURLの提案機能、検索プロバイダを実装する
- 24. データベースの履歴
- 25. ターゲット検出 - アルゴリズムの提案
- 26. 提案付き検索フィールドの記述。 Javascriptのフォーカスの問題
- 27. 複数の単語に対するGoogleの提案の検索
- 28. Googleの検索提案の入手方法
- 29. 提案付きの複数の検索可能なアクティビティ
- 30. Windowsでのコマンドライン検索置換ツールの提案
私が知っている限り、XMLデータは照会できません。そうすれば、アーカイブされたデータはテーブルに戻されるまで無駄になります。 – SeanD