已經有1200萬個帖子,人們似乎在使用聊天功能。我不知道擁有一堆小表比讓數據庫掃描數據庫中最後10條包含這麼多條目的消息更有效。我知道我不得不進行基準測試,只是詢問是否有任何人有任何意見或軼事,如果他們曾經有類似的情況。如果線程得到3000個帖子,每個線程可能會更好地創建一個新表?
編輯附加模式:
create table reply(
id int(11) unsigned not null auto_increment,
thread_id int(10) unsigned not null default 0,
ownerId int(9) unsigned not null default 0,
ownerName varchar(20),
profileId int(9) unsigned,
profileName varchar(50),
creationDate dateTime,
ip int unsigned,
pic varchar(255) default '',
reply text,
index(thread_id),
primary key(id)) TYPE=MyISAM;
如果沒有必要不要進行非規範化,和唐不要盲目索引:修補東西可能會使它們變得更糟。你是否真的有性能問題,或者你只是謹慎?模式如何?你記錄緩慢的查詢? –
我確實通過註釋中的線程ID進行索引。我只是想知道這是否是一個有效的選擇。最近我一直在研究leveldb和其他經常使用多個表的關鍵價值商店,所以我一直在質疑這個設置。編輯爲計劃 – ForeverConfused
是否有涉及任何開源論壇或博客引擎? –