[請益] 取得搜尋列數問題

看板PHP作者 (無)時間18年前 (2007/11/09 01:29), 編輯推噓6(606)
留言12則, 3人參與, 最新討論串1/1
我的SQL搜尋語法是 select ... from ...where ....limit a,b 由於資料很多,又需要分頁 所以必須用limit依照頁面數從第幾筆開始顯示 問題a變數必須知道這個SQL再不包含limit情況下都全部列數 才能計算出第幾頁,不然怎麼算出來都只有一頁 雖然可以先不加limit,把搜尋到的資料全搜出來再用seek做分頁功能 但是可能搜出來的筆數好幾萬,這個作法在顯示時有點沒有效率 請問一般的都怎麼設計這類的語法 -------------------------------- 因為我的需求必須有全部顯示與搜尋顯示 剛剛想到一個解法 1.全部顯示的列數多用一個select count()語法解決,然後搭配limit 好處不用每次都要搜全部資料 2.搜尋顯示的列數就只好全部搜出來後,做data seek移動, 這樣也不用每次都要重新搜尋 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.131.75.147 ※ 編輯: justinC 來自: 220.131.67.151 (11/09 01:37)

11/09 04:22, , 1F
第二個作法比較好,而且可以偷偷塞進 session ... :p
11/09 04:22, 1F

11/09 12:58, , 2F
1,2兩種做法都需要做,因為要這兩項功能阿..
11/09 12:58, 2F

11/09 12:58, , 3F
塞入SESSION...好處可以讓它存取速度更快?
11/09 12:58, 3F

11/10 02:26, , 4F
請問怎麼把結果塞入session,我把result存起來,好像沒有用
11/10 02:26, 4F

11/10 05:03, , 5F
要先fetch出來 result型態是resource不能塞進session
11/10 05:03, 5F

11/10 05:03, , 6F
要能serialize才能塞
11/10 05:03, 6F

11/10 05:28, , 7F
不過我不贊成把東西亂塞session
11/10 05:28, 7F

11/10 05:28, , 8F
我只要把cookie關掉 然後拼命refresh
11/10 05:28, 8F

11/10 05:29, , 9F
server那邊的session file就會長很大
11/10 05:29, 9F

11/10 05:30, , 10F
而且db那邊都會做好cache了吧
11/10 05:30, 10F

11/11 00:47, , 11F
session的確會有風險,不用limit,用data_seek移動
11/11 00:47, 11F

11/11 00:49, , 12F
好處是可cache住,這個作法適合搜尋
11/11 00:49, 12F
文章代碼(AID): #17CqUEfW (PHP)
文章代碼(AID): #17CqUEfW (PHP)