Re: [SQL ] 讀取資料表「全部」內容的最佳作法?

看板Database (資料庫)作者時間18年前 (2006/07/17 17:56), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串3/7 (看更多)
time out的問題好解決 但是比較麻煩的是同步的問題 如果你要做full table read 建議你找沒有人存取DB的時間,把整個表格lock起來 一次select既可 select完在解除 這三個動作要放在一個transaction內解決 這樣最快 ※ 引述《b6s (b6s)》之銘言: : ※ 引述《b6s (b6s)》之銘言: : : 標題: [SQL ] 讀取資料表「全部」內容的最佳作法? : : 時間: Sun Jul 16 18:00:42 2006 : : 各位好,我知道這個要求很……,但還是想問一下以釐清自己的觀念。 : : 平常,我都是用手動分頁的方式在做,也就是實際上指定好第 n 筆到第 m 筆,控制在合 : : 理的數量下才做 select。 : : 我想知道的是,是否有更符合當今技術的方式,例如 virtually 移動 cursor 或是 : : cached result set 什麼的? : : 感謝各位的指教。 : : -- : : ◆ From: 59.105.131.104 : : 推 come:看不懂你在說什麼 07/16 18:27 : : 推 fumizuki:好深奧的問題 07/16 19:37 : 抱歉,我講清楚一點。 : 假設我有個資料表,裡頭有十萬筆資料,叫作 tb1。 : 由於某種詭異的需求,使得我必須 SELECT * FROM tb1; : 如果這十萬筆資料的 columns 稍微多一點,這樣子硬幹是會 timeout 的。 : 平常,我都是先 SELECT COUNT(*) FROM tb1; 算一算總共有多少筆, : 然後再手動分頁式地一次一次取回來, : 例如 SELECT * FROM tb1 WHERE id > 0 AND id < 1000; : 於是我想知道,針對某些語言或某些資料庫,是否有更好的方式? : 例如某些神奇的 ResultSet/RecordSet 具備了 cursor 能夠虛擬地分頁, : 而不必真的把資料一次全部撈回來等等。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.142.183

07/17 18:01, , 1F
忘記說 在螢幕顯示會很慢 建議直接存到檔案
07/17 18:01, 1F
文章代碼(AID): #14krxUEW (Database)
討論串 (同標題文章)
文章代碼(AID): #14krxUEW (Database)