ウェブサイトで最も一般的なパスを追跡するプログラムのパフォーマンスを向上させようとしています。指定したURLがUNIQUE_IDとテーブルsessionpageに登録されています複数のMySQLが同じテーブルに結合されています
+-----------+--------------------------+---------------------+
| unique_id | page_url | mod_date_stamp |
+-----------+--------------------------+---------------------+
| 2378 | /resources/series75.html | 2008-10-03 22:49:00 |
+-----------+--------------------------+---------------------+
その後、別のテーブル、セッション、sessionpageからUNIQUE_IDを使用して、最大5つの一連のURLのためのヒット数をカウントします。
セッション今
+-----------+---------+-----------------+-----------+---------------------+-------
| unique_id | counter | sequence_length | yearmonth | mod_date_stamp | page1 |
+-----------+---------+-----------------+-----------+---------------------+-------
| 1 | 2 | 2 | 201203 | 2012-03-28 15:42:38 | 5298 |
+-----------+---------+-----------------+-----------+---------------------+-------
+-------+-------+-------+-------+
page2 | page3 | page4 | page5 |
+-------+-------+-------+-------+
6075 | 0 | 0 | 0 |
+-------+-------+-------+-------+
、統計プログラムは、あまりにも長い道のりを取っている各URLのためのセッションページからUNIQUE_IDをフェッチしています。セッションを複数回セッションに戻したいので、page1〜page5のフィールドにはsessionpageのunique_idではなくurlパス(または0/null)が表示され、プログラムのスピードアップが行われます。事前に
+-----------+---------+-----------------+-----------+---------------------+-------
| unique_id | counter | sequence_length | yearmonth | mod_date_stamp | page1 |
+-----------+---------+-----------------+-----------+---------------------+-------
| 1 | 2 | 2 | 201203 | 2012-03-28 15:42:38 | /path/index.html |
+-----------+---------+-----------------+-----------+---------------------+-------
+-------+-------+-------+-------+
page2 | page3 | page4 | page5 |
+-------+-------+-------+-------+
/path3/disk.html | 0 | 0 | 0 |
+-------+-------+-------+-------+
ありがとう:
最終的な結果は次のようになります。
二テーブルの上にUNIQUE_IDにインデックスがある:
もう一つのヒント、SELECT文で、あなたが使用できるNULL値をしたくない場合は? – Randy
いいえ、そうかもしれません。現在、unique_idはセッションの主キーです。可能なURLの各組み合わせには独自のunique_idがあります。 – Zug
なぜ何度も参加する必要があるのか分かりません。あなたのテーブル構造が、あなたが1回の参加ですべての情報を得る方法であるようです。複数の結合がパフォーマンスに役立つことはありません。最終結果がどのように見えるかを明確にしてください。 – Cfreak