用戶訪問source_slug(比如the_source_slug)。系統試圖獲得其他用戶(誰使用the_source_slug)早些時候訪問過的其他用戶,根據最常用到最不常用的順序排序。基本上,系統試圖找到具有相似興趣的用戶並顯示他們以前訪問的其他頁面。優化這個SQL!
是否需要優化這個查詢幫助:
SELECT DISTINCT(SOURCE_SLUG), COUNT(SOURCE_SLUG) CATCOUNT
FROM topsources
WHERE SOURCE_SLUG <> ?
AND USER_ID IN (SELECT DISTINCT(USER_ID)
FROM topsources WHERE SOURCE_SLUG = ?)
GROUP BY SOURCE_SLUG ORDER BY CATCOUNT DESC
表結構:
`topsources` (
`USER_ID` varchar(255) NOT NULL,
`DATE_AND_HOUR` varchar(255) NOT NULL,
`UPDATED_TIME` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`ITEM_ID` int(11) NOT NULL,
`SOURCE_SLUG` varchar(100) NOT NULL,
`FEED_PAGE_URL` varchar(255) NOT NULL,
`CATEGORY_SLUG` varchar(100) NOT NULL,
`REFERRER` varchar(2048) DEFAULT NULL,
PRIMARY KEY (`USER_ID`,`DATE_AND_HOUR`(30),`ITEM_ID`),
KEY `USER_ID` (`USER_ID`),
KEY `FEED_PAGE_URL` (`FEED_PAGE_URL`),
KEY `SOURCE_SLUG` (`SOURCE_SLUG`),
KEY `CATEGORY_SLUG` (`CATEGORY_SLUG`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
你可能會有更多的l uck當用問號回答問題而不是讓你聽起來像是讓我們工作時... – 2011-03-29 09:05:20
我們不是狗請:) – 2011-03-29 09:05:55
我不會讓任何人工作......作爲一名開發人員,我喜歡挑戰。 ..我覺得它也會挑戰其他問題解決者。在這個問題中,我也有「需要幫助」。 – Zero 2011-03-29 09:10:27