<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    老妖的博客
    現(xiàn)實(shí)的中沒(méi)有幾個(gè)人能夠真為對(duì)方去死,甚至山盟海誓很快就會(huì)在金錢(qián)面前變的微不足道,這才是生活。沒(méi)有永遠(yuǎn)的愛(ài),除了你的父母對(duì)你,當(dāng)然也就沒(méi)有永遠(yuǎn)的恨,更沒(méi)有永遠(yuǎn)的痛,時(shí)間是最好的治療大師,它會(huì)很快撫平你心靈上累累的傷痕。很多年以后你想起來(lái)時(shí),那些在你生命中洶涌來(lái)往的人群至多是個(gè)模糊的影子或者毫無(wú)意義的名字
    posts - 105,  comments - 171,  trackbacks - 0

    giive 兄寫(xiě)了一篇 Rails 內(nèi)建的 Pagination 簡(jiǎn)介 。不過(guò)官方 Rails Blog 推薦 的這篇文章 Guide: Things You Shouldn’t Be Doing In Rails ,強(qiáng)烈的建議不要使用內(nèi)建的 Pagination。甚至,在 Rails 2.0 還要完全的把 Pagination 移出 core 而獨(dú)立成一個(gè) Plugin。究竟這個(gè)內(nèi)建的 Pagination 有什麼問(wèn)題呢?

    1. 雖然使用 paginate 時(shí),產(chǎn)生的 SQL 不會(huì)將沒(méi)有要顯示的資料選取出來(lái),但是有時(shí)候我們需要比單純的 find 來(lái)的複雜,會(huì)需要用到自訂的query。

    正確的做法是做一個(gè)新的 class 繼承 Pagination,然後 override count_collection_for_pagination 和 find_collection_for_pagination 兩個(gè)method,(當(dāng)然你要在這兩個(gè) methods 中做出正確的 query)。再用這個(gè)新的 class 來(lái)產(chǎn)生 pagination。

    不過(guò)很多懶惰人(就是我啦!),會(huì)直接用 find_by_sql 把全部的 182,443,567,9832 筆的 records 選回來(lái),再用 paginate_collection 來(lái)做出分頁(yè)的效果,自然就無(wú)比的浪費(fèi)。

    這點(diǎn)不能算是 Pagination 的錯(cuò),畢竟是亂用。可是因?yàn)閮?nèi)建的關(guān)係,讓很多人都沒(méi)有仔細(xì)去看看 Pagination 到底做了些什麼事,才會(huì)出這樣的問(wèn)題。

    2. 使用 pagination_links 來(lái)產(chǎn)生選頁(yè)的連結(jié)是蠻慢的,根據(jù) 這一篇 ,用 pagination_links_each 會(huì)比較快。

    不過(guò)若是分頁(yè)出來(lái)的頁(yè)數(shù)太多,會(huì)有放不下這麼多頁(yè)連結(jié)的問(wèn)題。這時(shí)要使用到 :window 這個(gè)選項(xiàng),而這個(gè)選項(xiàng)是很慢很慢的。

    所以說(shuō),即使在沒(méi)有 Database overhead 的情況下,內(nèi)建的 Pagination 在資料量很大的時(shí)候還是會(huì)有效能的問(wèn)題。
    解決的辦法?

    參考這幾篇文章:
    posted on 2006-11-10 21:19 老妖 閱讀(2080) 評(píng)論(1)  編輯  收藏 所屬分類(lèi): 轉(zhuǎn)載rails

    FeedBack:
    # re: Pagination 的問(wèn)題--轉(zhuǎn)載
    2012-11-07 15:51 | 山寨吧
    技術(shù)類(lèi)博客 支持一個(gè)  回復(fù)  更多評(píng)論
      

    <2012年11月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

    常用鏈接

    隨筆分類(lèi)(48)

    隨筆檔案(104)

    好友鏈接

    我的豆瓣

    積分與排名

    • 積分 - 220986
    • 排名 - 257

    最新評(píng)論

    閱讀排行榜

    主站蜘蛛池模板: 在线播放亚洲第一字幕| 一道本不卡免费视频| 久久99国产亚洲高清观看首页| 亚洲人成网站免费播放| 97在线视频免费公开视频| 含羞草国产亚洲精品岁国产精品| 亚洲精品高清国产一久久| 国产成人99久久亚洲综合精品| 日本免费一区二区三区最新| 亚洲成人在线免费观看| 暖暖免费日本在线中文| 亚洲视频在线免费| 精品特级一级毛片免费观看| 亚洲熟女精品中文字幕| 亚洲w码欧洲s码免费| 亚洲国产视频网站| 67pao强力打造67194在线午夜亚洲 | 91久久成人免费| 日本在线免费观看| 中国一级全黄的免费观看| 人妻免费久久久久久久了| 真正全免费视频a毛片| 爱情岛论坛亚洲品质自拍视频网站| 亚洲制服丝袜中文字幕| 亚洲欧洲精品久久| 亚洲日本国产乱码va在线观看| 亚洲欧洲国产日韩精品| 亚洲a在线视频视频| 亚洲一区二区在线免费观看| 久久狠狠高潮亚洲精品| 亚洲最大黄色网址| 亚洲妓女综合网99| 亚洲一区电影在线观看| 中文字幕乱码亚洲精品一区| 亚洲综合激情五月丁香六月 | 日韩毛片免费无码无毒视频观看| 亚洲视频免费在线看| 黄色永久免费网站| 香蕉高清免费永久在线视频 | 亚洲中文字幕久久精品无码VA| 亚洲精品第一综合99久久|