有這樣乙個情況:現在有50個分類,每個型別我們只需要15條記錄!該怎麼做?
而每個型別的記錄數大概都在數萬條!
我遇到此種問題,本能的把它當做一般的問題來處理:你不是要50個分類,每種分類要15條嗎? 好:
第一種方式:通過子查詢方式實現,語句如下:
slect n. * from news_object n where n.id in (select n.id from news_object n1 where n1.news_t_level=n.news_t_level and rownum>0 and rownum<16) order by n.createtime desc;
解釋news_t_level是型別id 指向型別表news_t_level
第二種方式比較通俗易懂:先查型別表,根據型別id,再查news_object表。
第一種方式只發出一條sql,第二種方式需要發出51條sql。究竟哪種方式比較好(上面說了每種型別都有上萬條的記錄,甚至更多)?嘿嘿,我也不知道!本能的感覺第二種方式吧!
好了假定第二種方式好一點!
但是問題不總是那麼簡單?我們知道web開發中,比如新聞首頁,它就遇到了類似的問題,我們把這些物件查上來放到50個list裡,然後到action,再到頁面,當我們重新整理頁面,它就會到資料庫中進行查詢(這裡暫不考慮動態頁面靜態化,好像大的**都這麼做!),如果我坐在那裡什麼也不幹,就重新整理,重新整理1w次!第一種情況發出1w條sql,第二種方式發出51w次sql,這時你說那種方式比較好?
我幾乎瘋了!!!!!
我是這麼解決的,還是採用第二種方式 不同的是 我們要採用快取方式 解決這個問題!!
究竟這些建立在假設的情況,是否完全正確,需要各位的指出!!!
多分類產品查詢
分類是無限級的 產品跟分類的關係是多對多 需求 查詢一組分類下的全部產品,注意給定的分類編號列表中的分類,可能包括下一級分類 select distinct p.productid,p.name from product p left join producttradeclassmap cmap o...
libsvm 多分類情況
svm是乙個二分類器,當遇到多類別的時候,一般採取如下兩種策略。a.一對多法 one versus rest,簡稱1 v r svms 訓練時依次把某個類別的樣本歸為一類,其他剩餘的樣本歸為另一類,這樣k個類別的樣本就構造出了k個svm。分類時將未知樣本分類為具有最大分類函式值的那類。b.一對一法 ...
多分類學習
多分類學習的基本思路是拆解法,即將多個二分類任務拆為若干個二分類任務求解。具體地就是,先對問題進行拆分,然後為每個拆分的二分類任務訓練乙個分類器 在測試時,對這些分類器的 結果進行整合以獲得最終的多分類結果。關鍵 多分類任務如何拆分。經典的為 一對一 one vs one,ovo 一對多 one v...