qq好友資料庫
A. 關於 QQ 好友資料庫設計
針對sql server資料庫來說(sql server比mysql好一些,比oracle差),如果有一個萬個用戶就一萬張表。資料庫對表數量的支持也是有限制的。
並且創建表需要有相應的級別比較高的許可權,如果每注冊一個用戶就新建一張表,用戶的許可權太高了。
再次,按照你的說法,一個人假設有1000個好友,每個表也就1000條數據,相對於資料庫來說,這個存儲量是相當小的,沒有發揮到很好的性能。sql server資料庫幾百萬萬條數據是沒問題的。
最後,這樣查詢可能會帶來方面之處,但是如果用到了存儲過程,復雜的聯合查詢等(這些都是在資料庫中常用的),你這樣做就很難完成了。
所以,為何不把這些數據集中到一張表裡面呢?
B. 現在的QQ好友資料庫是哪一個文件
默認安裝qq的位置
:\Program Files\tencent\qq\自己的qq號 \MsgEx.db
MsgEx.db是聊天記錄
User.db是好友記錄
下面留著參考吧
qq號碼文件夾下的文件:
Config.db qq 系統設置
Content_Config.ini 自定義面板設置
ewh.db qq 密碼
MsgEx.db qq 聊天記錄
notes.db qq 備忘錄
qqMailSettingEx.dat qqMail 設置
qqMailAddr.dat qqMail 地址本
QQMailIndex.dat QQMail QRT.dat QQ 炫鈴信息
MailData QQMail 本地郵件
ShareInfo.db 共享文件夾設置
User.db QQ 本地好友列表
VQQ.db QQ 視頻設置
C. 關於QQ好友關系資料庫存儲方式
這個不敢胡亂猜測,蒙對了吧,人家騰訊可能就找上門來了,說咱盜取商業秘密;蒙錯了吧,這不是糊弄你么?
個人覺得:一個QQ對應多個好友,非會員QQ好友上限好像是500吧,主QQ那個欄位應該是帶索引的,可以一下拉取這個QQ號的所有好友,不過也有可能是按分區走的
再一個,你說的1000人同時登陸的問題,騰訊才不會那麼傻就一個伺服器呢,自己看看就知道了,分地域的不同,所用的伺服器也不同,資料庫也有可能是做的鏡像什麼的吧,這就不知道了
聲明:以上觀點只是本人胡亂猜測,如有雷同實屬巧合
-------------補充---------
QQ_NUM FRIEND_QQ_NUM
123 456
123 789
123 234
456 123
456 789
789 123
234 123
簡單點,拿數據來說明問題吧
QQ_NUM欄位必須有索引,當你登錄的時候,select FRIEND_QQ_NUM from 表名 where QQ_NUM=123
但是不排除這兩個欄位是個聯合索引,因為根本不可能重復
D. 09版QQ的好友資料庫文件在哪個文件夾
就在QQ文件夾里的user文件夾里啊···
09版的安裝時會詢問你這個是不是在你默認的路徑下,也就是說,在安裝的時候可能被放到別的盤裡面了···
那就不好找了啊··