※ 引述《JYHuang (夏天到了,冷不起來了說)》之銘言:
: 問題:
: 如果說我要從查詢的結果來取得資料表的名稱
: 像是從A資料表取得 "Folder"一值。
: 然後再去查詢"FolderA"資料表。
: 是否能用子查詢達成?
: 我用
: select * from
: (select concat((select field from table where...),'A') from ...) as ..
: 會變成查詢結果是查詢結果是 "FolderA"
應該是不行,只能用組合字串的方法去把資料表名稱代入
: 疑惑:
: 現在在開發的資料庫裡其中有兩種資料,結構完全一樣,只有一個key不同。
: 我的想法是放在同一個資料表用key來判別。
: 不過目前另一位開發的意見是,因為資料量很大
: 為了不影響效能,所以分別獨立成兩個資料表。
: 我是想法是覺得在都在同一個database裡影響應該不大
: 只是存取的是從sql改由table去指定而以..
: 獨立放在兩台Server差別比較大..
: 是這樣嗎?
看兩個資料表之間的關係什麼,有沒有需要進行跨兩個資料表之間的查詢?
如果沒有,那分開比較好一點,只是查詢要切換資料表可能要用IF...ELSE
或是用組合字串的方式來作,會比較複雜
如果有需要跨資料表,那可能就必須用UNION,而在資料很大的情況下
我是不建議分開,乾脆合在同一個表的查詢效能反而會比較好
不過寫入速度會越來越慢就是了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.70.93.154