Re: [問題] PHP存取MySQL最浪費時間的地方在?

看板Web_Design作者時間18年前 (2006/02/08 21:05), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串4/7 (看更多)
※ 引述《grassboy2 (活力花俏草兒Grassboy大렩》之銘言: : 我要寫的東西…嗯… : 有部分應該和E-Mail系統有點像吧… : 裡面的結構大略是 : database1 : users (使用者資料) : mails (所有user收到的訊息) : 但是人一多… : mails的資料量就會大增… : 所以我就想要改成 : users_database : users (使用者資料) : mails_database : (user_id1) : (user_id2) : (user_id3) : : : : : (每個user_id都建立一個資料表) : 如此…在使用者登入的時候, : 只需要從users_database→users進行搜尋 : 當帳密正確,允許登入後… : 再連結到mails_database : 執行select * from 'user_id' (←登入後的id) : 這種結構…每個user在註冊的時候都會建立一個資料表 : 所以到時候mails_database裡面應該會有上萬個資料表 : 而由於使用者不需要搜尋別人的mails : 那…這樣會比較有效率嗎? : 謝謝大家耐心看完這個問題^^ 以下是我的猜想, 不知道對不對 你這樣做應該是會比較快, 但是會浪費很多硬碟空間, 因為每多一個資料表, 硬碟就要記錄有關這個資料表的額外資訊 一般在設計資料庫時, 資料表的數目是固定的, 把資料表數目設計成動態的, 我實在沒見過, 而且這樣設計也不符合一般資料表設計的流程 所以我的建議是, 你的資料表架構可以不用改, 只要你對 mails_datatbase 的 user_id 欄位建索引檔就夠了 (這功能 MySQL 有提供), 索引檔會在硬碟上建立出類似 Tree 的結構, 可以有效加快查詢速度 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.35.56.37 ※ 編輯: eliang 來自: 218.35.56.37 (02/08 21:20)

02/08 23:14, , 1F
謝謝~我看到phpMyAdmin有這個功能了~
02/08 23:14, 1F
文章代碼(AID): #13wUo9U7 (Web_Design)
討論串 (同標題文章)
文章代碼(AID): #13wUo9U7 (Web_Design)