看板 PHP 關於我們 聯絡資訊
雖然不是很懂你的意思,看起來似乎只是 join 的問題,如果是這樣,豈不是在 where 下 A.name=B.name 條件即可?? 據個人的經驗來看,能用 sql 能做到的效果當然也能透過程式做到(反之未必) 影響 sql 查詢速度的最主要因素是資料量太大而在查詢時造成 table scan 當然,這部份可以透過建 index 來解決。 ※ 引述《hfnadkv (衝衝衝)》之銘言: : 現在有二個table : A table有3筆資料,B table有1000資料 : 每次查book,都必需對照B table : 但這樣每次都要B table作1000次 I/O : 所以就想到一個作法,A、B table都sort, : 然後把B table為b 字首的字提出,再對照就好 : 這樣每次只要3次 I/O就好 : 不知道sql,能作出這樣的查詢嗎?還是一定要用程式去跑呢? : 如果用程式來作,怎麼把第一個字母提出呢? : A table B table : name status name supply : ______________ _______________ : book book : buck buck : cake boom : cake : cea : cook : . : . : . : zoo -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.63.100.114
hfnadkv:如果量大的話100000,但其實透過這種方式,也許只要拿其中 01/01 22:44
hfnadkv:的1000筆來比對就好,主要是要玩最佳化這一塊~資料少的話 01/01 22:45
hfnadkv:感覺不出來,想把書上的理論coding出來啦!呵~ 01/01 22:47