Re: [SQL ] 存取多個資料表

看板Database作者 (戴汶)時間15年前 (2008/12/20 00:54), 編輯推噓5(500)
留言5則, 3人參與, 最新討論串3/5 (看更多)
感謝roga大大的回應 我先澄清一下 這個系統是我的專題 而事實上呢,這個系統也只是圖書館裡面的一個子系統 其實我已經做得差不多了,老師卻突然要我拆table = = 我也想要簡簡單單一個table去存資料啊 但是老師就說拆table會比較穩定... 我不確定這樣是不是真的比較穩定 或者這樣拆table是否會拖慢效能 很ooxx的是我已經做得差不多了 卻要我去動底層的東西,等於整個都要翻新 翻新過後還要做測試,這又要花很多的時間 很無奈中... ※ 引述《roga (凝視)》之銘言: : ※ 引述《luxuryEX (戴汶)》之銘言: : : 我是使用MYSQL +PHP : : 我現在在做一個圖書館的系統 : : 為了穩定性的問題 : 阿..那你儲存引擎選 innodb 就好了雖然 xtradb 出了 : 穩定性喔..爛掉就把 binary log 叫回來倒.. XD : : 我在DB裡面按月份建了12個資料表 : : 這12個資料表長得一模一樣 : : 存資料的時候就會按建立該筆資料的月份存進對應的資料表裡面 : 我們公司有客戶也做過同樣的事情,不過他是一個人開一個資料庫, : 開了十幾個,之後維護案要調整 scheme 真不是人幹的 : 還有比你更兇猛的 ^^ : : 但問題來了,要如何存取多個資料表呢? : : 譬如我要從12個資料表裡面搜尋類似的書 : : 以下是我寫的SQL語法: : : $sql = "SELECT title,author,publisher,isbn : : FROM 01jan, 02feb, 03mar, 04apr, 05may, 06jun, 07jul, 08aug, : : 09sep, 10oct, 11nov, 12dec : 小建議,前面用數字開頭實在不是很好的 style。 : : WHERE title like '%".$TITLE."% : : ORDER BY `datetime` DESC"; : 第一種解法 UNION, UNIOL ALL : 第二種解法 你在不同的資料表選擇欄位名稱相同的欄位,要欄位前加上資料表名稱 : 你要開發圖書館系統,系統分析一定要先做好,關聯性資料表 FK, PK、 : 正規化的意義先搞清楚,要不然最後可能是做白功喔! : 也有可能系統越來越做不下去喔 ^^ : : 出現的錯誤訊息是: : : Column 'title' in field list is ambiguous : : 請問我該怎麼改語法呢? : : 先謝謝各位前輩! : 我這樣算在賺 P 幣嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.104.195.12

12/20 13:18, , 1F
我同意拆table在一些狀況可以增進效能, 不過用月份切..
12/20 13:18, 1F

12/20 13:19, , 2F
這一刀似乎不太漂亮..
12/20 13:19, 2F

12/21 16:30, , 3F
奇怪?? 我第一次聽到這種說法. 確定沒搞錯. 可別原本簡單的
12/21 16:30, 3F

12/21 16:35, , 4F
事情弄得很複雜.
12/21 16:35, 4F

12/22 00:09, , 5F
老師說的如果要有道理,比較像partition,不是直接拆table
12/22 00:09, 5F
文章代碼(AID): #19Iz6iPh (Database)
討論串 (同標題文章)
文章代碼(AID): #19Iz6iPh (Database)