Re: [請益] 查詢最佳化問題

看板PHP作者 (I should be guest..)時間19年前 (2007/01/01 22:35), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串4/5 (看更多)
雖然不是很懂你的意思,看起來似乎只是 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

01/01 22:44, , 1F
如果量大的話100000,但其實透過這種方式,也許只要拿其中
01/01 22:44, 1F

01/01 22:45, , 2F
的1000筆來比對就好,主要是要玩最佳化這一塊~資料少的話
01/01 22:45, 2F

01/01 22:47, , 3F
感覺不出來,想把書上的理論coding出來啦!呵~
01/01 22:47, 3F
文章代碼(AID): #15cHmKC_ (PHP)
討論串 (同標題文章)
文章代碼(AID): #15cHmKC_ (PHP)