※ 引述《fatcats (體驗ECOSWAY魅力^^)》之銘言:
: 起因是有個欄位 用了一個突發奇想的方式
: 本來是要開1 2 3 4 5...n 個欄位 然後分別紀錄一個布林
: 也就是有n個功能 這個東西可以都有 也可以部分有
: 結果第一次設定成 一個欄位 紀錄1,2,3,4,5,..,n 也就是把功能有的編號記下來
: 如果有1 3 4 沒有2 5 ==>會紀錄成 1,3,4
: 搜尋的時候 本來是打算用這樣的方式
: 比方說搜尋擁有 3 5 功能的東西 ==> LIKE %3%5%
: 不論其他功能有沒有 都可以找的到有包含 3 5功能的東西
: 不過這樣 似乎效率會跟使用n個欄位來比差很多??
: 感覺上 如果我要同時搜尋擁有某3個功能的東西
: 使用n個欄位的 要搜尋3欄 * 資料筆數
: 使用1個欄位的 用like的方式 不是只要搜尋 一欄*資料筆數 嗎!?
: 效能上為何會比較差呢!?
: 是因為%的關係嗎!?
: 還是說可能比較快 也可能因為東西擁有的功能太多 導致每次比對都會比對
: 很長的一串資料 (比方說: 可能某個東西功能全都有 1,2,3,4,...,n)
: 是這樣的意思嗎??
: 感謝^^
這種需求,請開兩張Table,一張記錄產品別,一張記錄產品的功能,
例如有A, B兩種產品,A有1、2、3的功能;B有7、8的功能則table如下:
產品表裡面只記兩筆,即A跟B的基本資料,略。
功能表:
品號 功能
A 1
A 2
A 3
B 7
B 8
要找A功能,就select 功能 from 功能表 where 品號='A'即可
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.117.62.155