你可以測試看看 SELECT 流水編號和你的值哪個快!
老鷹這邊以MySQL為例子,SELECT一個訂單的看看(6萬多筆,欄位50幾個)
先測試 WHERE 查詢某欄位
再來測試 WHERE 流水編號(PK)
效率比起來還是流水編號比較快~~!
所以還是乖乖加入流水編號會比較好!
如果對資料庫有興趣的話,可以看一下以下網址的簡報,下次活動也可以來聽聽看!
http://ithelp.ithome.com.tw/question/10166176
我的觀念若有不對,請各位邦友..鞭小力點 > < 謝謝
我使用的是Oracle ERP ,在所有的Oracle table幾乎都會有流水碼ID,這是唯一值,
也是index 欄位,也是關連式資料的關連值,例如記錄料號id,就可以透過此料號ID去
料號主檔串出相關的資料,而不用在相關的系統開一堆欄位去記錄料號資料.
這料號ID就是流水碼,唯一值,Index key
以上是我的淺見...若有不對再請邦友幫我定正一下觀念
---分隔線
但是最近我也跟樓主有一樣的困惑產生了,
我們公司有客製一個外部系統,透過一個權限控管的Table去控制使用者權限.
在權限Table裡面,前人塞入了工號(這是公司的唯一值),確又開了一個ID欄位
而在後續所有的系統裡面,因為都用工號,所以此流水碼ID欄位都沒被用過
我就在想..這是畫虎不成反類犬嘛..
而且那流水碼ID還是要自己手動編輯,每次找出最大號再+1 ..
幾乎這位同事的外部系統Table,都有這所謂的ID欄位,但是也都沒被用到
對我的認知來說,如果後續用的是工號,那麼工號就是Table的ID
如果真的要有所謂的Table 資料為一值,其實已經有個rowid在裡面了.
這是我的淺見,也是我的疑惑,期待後續有邦友的討論.