作者a76126 (123)
看板C_Sharp
標題[問題] 類似Datatable select的功能
時間Sat Oct 20 23:33:27 2012
是這樣的
我有8萬~40多萬個字串 要去幾百個文章(在data table中)中比對 有沒有出現
於是就使用datatable的select 比對8萬多次 但是真的慢到我以為他當掉了
不用messagebox秀出來 我還以為出錯 根本跑不完
我索性自己手寫 看有沒有contain這個字串 跑8萬多次還可以接受 大概1x秒
但到40萬次就有點久了
google一下 說是用data.row.find會比較快 但是我一定要用like %xxx%來比對才行
所以想問一下 有沒有人有類似的經驗
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 119.14.176.210
1F:推 Eleganse:個人經驗:資料庫存取效率問題多半與(1)取出的資料集大小 10/21 13:47
2F:→ Eleganse:(2)存取的次數 有關 10/21 13:48
3F:→ Eleganse:也就是說 如果你經常向資料庫要一個上百萬筆的DATASET 10/21 13:48
4F:→ Eleganse:或是說你用迴圈跑上千上百次SQL命令字串 10/21 13:49
5F:→ Eleganse:那是怎麼樣也快不起來的 就算你跑得起來 有天有個使用者 10/21 13:50
6F:→ Eleganse:家裡電腦比較爛 或是頻寬比較低 整個網頁或程序執行 10/21 13:50
7F:→ Eleganse:超過10秒 使用者很難不認為這個程序當掉了 10/21 13:51
8F:→ Eleganse:處理效率會變快 就是要減少上面(1)或(2) 10/21 13:52
9F:→ Eleganse:釜底抽薪將效率優化的觀點 鎖定為上述2者 10/21 13:54
10F:→ Eleganse:並自已寫出符合你自已要求的程式 或去找相關指令或方法 10/21 13:54
11F:推 Eleganse:註:存取效率與原始資料叢大小較無關係 10/21 13:58
12F:→ Eleganse:(也就是你文中的數十萬筆字串或數千篇文章) 10/21 13:58
13F:→ Eleganse:優化搜尋法的撰寫 就是要減少從原始資料叢拿出來的東西 10/21 13:59
14F:推 cloudsan:這種應該要作索引會比較好處理..... 10/22 01:58
15F:→ yeo1987:要不要先對文章進行預先處理...=.=... 10/22 23:21
16F:推 asd823:預處理應該會比較快...比竟字串比對本來就天殺慢... 10/23 16:56
17F:→ charles0203:預先處理大概是什麼事情呢? 10/26 07:16