2010-06-14 59 views
0

請檢查http://www.alibaba.com/catalogs/cid/702/Laptops.html他們有很好的過濾器這裏有每個項目的數量。請注意一個細節 - 他們在這裏有位置。 olx.com上的相同內容 - 每個類別的位置和項目數量。幫助概念 - 過濾器和項目數量

現在想象一下,我有表: [產品](ID,姓名,類別編號,LocationId) [類別](ID,姓名) [位置](ID,姓名)

我的問題我怎麼能做同樣的事情,甚至在緩存看起來很昂貴的情況下還能算數?他們給結果相當快...

請諮詢可能的方式來做到這一點在ASP.NET,C#,MVC,MS SQL,但避免像「計數和更改」的簡單答案 先謝謝您。

+0

來證明:我的問題是在數據庫層面 - 如何組織所有這些計數器,並且不要使用計數數量來殺死網站。 – dreamer 2010-06-14 10:52:37

回答

0

我會爲服務器端的ASP.NET MVC和客戶端的Jquery爲您的要求。

該組合允許您完全控制UI,並使用Javascript來操作它們。

ASP.NET呈現的一些複雜控件有其動態生成的「id」值,這可能是一個問題。

至於你的要求http://www.alibaba.com/catalogs/cid/702/Laptops.html

有jQuery插件,你可以充分利用渲染視覺效果好一些。

請查看下面的鏈接(Table Sorter插件),我發現它對於向表格添加顯示效果特別有用。

Table Sorter

希望這有助於。

感謝, 維傑

+0

Vijay, 謝謝你的回答,特別感謝你的網址。好吧,用JQuery我可以做客戶端,沒事了,我看不到替代品....但是如何處理數據。 請檢查我的意見Mohang,在這裏的問題。 – dreamer 2010-06-14 10:50:55

+0

@dreamer,TableSorter插件的美妙之處在於,每次篩選器選擇都不會觸及服務器。顯示過濾後的候選人發生在客戶端,這不會是一個性能打擊!謝謝。 – vijaysylvester 2010-06-15 21:11:14

0

顯示,他們是在一個等級上的可能的過濾器。當您選擇一個過濾器時,他們使用該過濾器運行搜索並獲取縮小的過濾器。關鍵是每次運行過濾器。這是相當可行的。我已經在asp.net MVC中完成了這項工作。在你的情況下,因爲你沒有很多過濾器,它會更容易。

決定級別1過濾器。 對於每個1級過濾器,決定哪些是2級過濾器。 決定每種過濾器類型的平均深度級別。

隨着用戶不斷添加過濾器,運行用戶選擇或取消選擇的過濾器。 您在應用過濾器後獲得項目。根據過濾器的級別顯示它們。

+0

Mohang, 謝謝你的回答。我不清楚它是什麼:我有NN位置..和NN類別..他們都是「一級」過濾器..細細......問題是他們如何計算每個位置和類別的項目數量。怎麼樣?如果您嘗試在1500萬條記錄數據庫中運行COUNT或GROUP BY,您將理解我的「混淆點」:),它需要超過2秒鐘,我認爲......但要提供這樣的統計信息數量,您至少需要運行5次或每個地點一級10個計數器。 – dreamer 2010-06-14 10:47:22

+0

@dreamer,我想你需要運行一個單獨的查詢來獲取每個過濾器項目的項目數量。有人告訴我,Newegg.com有一家公司向他們提供這些數據,我想像這個服務每個星期/每週都花費時間來計算每種可能的過濾器組合的項目數量,並將它緩存給Newegg以用於飛。我自己嘗試了這一點,並且做了非常困難的時間。我也試過在這裏問,並沒有得到一個好的答案。 – 2012-01-04 20:01:58