2012-12-11 295 views
0

對於回報率的應用程序,我幫助發展,我需要保存所有搜索查詢數據庫中的,所以我可以在以後分析它們的最佳方式。Ruby on Rails的:保存搜索查詢數據庫中的

我的計劃,現在是創建一個合成模型和表,並只保存每個搜索查詢的文本在該表中,隨着用戶的ID,時間等

然而,應用程序有大約15,000用戶,所以恐怕單單表格方法在解析數據時不會超高效。 (該數據庫通過MySQL是設置,如果在因素都沒有。)

難道只是我多心嗎?有沒有一種Ruby寶石可以處理這種事情,或者我可以採用更好的方法?

任何輸入,將不勝感激。

回答

1

有幾個方法可以嘗試: 1.啓用MySQL查詢記錄,比分析這些日誌 http://dev.mysql.com/doc/refman/5.1/en/query-log.html 2.使用key => value存儲(Redis的想到)登錄搜索查詢類似的你描述

如果你決定用2號的方法去我會創造你想要跟蹤

+0

好,冬暖夏涼。我也在研究觀察員,但不知道這是否是一條路。謝謝! –

0

答案取決於你想用數據做什麼模型中的非同步觀測方式。

如果用戶不需要上網本,和你沒有做實時分析,傾倒出來你的應用程序,並讓他們到另一個數據庫運行分析你的心臟的內容。

如果你想要的東西集成到你的應用程序,嘗試一個MySQL表。

除非你的服務器是微小的或您的用戶都瘋了積極的搜索,它應該只是桃色。在某個時候,你可能想清除舊記錄並將它們保存在其他地方。

+0

是的,這對我和團隊中的其他人都有好處。據我所知,它不會出現在應用程序的任何地方。如果你跟着我,我只是想做'對'。現在的計劃是去除超過3個月的任何保存的查詢。 –

+0

在這種情況下,每隔幾天將一個cron作業轉儲到你的服務器上的mysql查詢日誌看起來就像是「正確的」方法 – agmin