- 論壇徽章:
- 0
|
本帖最后由 cenalulu 于 2013-04-28 13:56 編輯
表結(jié)構(gòu)如下:- CREATE TABLE wiki_doc (
- `did` int(10) unsigned NOT NULL auto_increment,
- `cid` int(6) unsigned NOT NULL,
- `letter` char(1) NOT NULL,
- `title` int(10) NOT NULL default '0',
- `tag` varchar(250) NOT NULL,
- `summary` varchar(250) NOT NULL,
- `content` mediumtext NOT NULL,
- `author` varchar(15) NOT NULL default '',
- `authorid` mediumint(8) unsigned NOT NULL default '0',
- `time` int(10) unsigned NOT NULL default '0',
- `lastedit` int(10) unsigned NOT NULL default '0',
- `lasteditor` char(15) NOT NULL default '',
- `lasteditorid` mediumint(8) unsigned NOT NULL default '0',
- `views` int(10) unsigned NOT NULL default '0',
- `edits` mediumint(8) unsigned NOT NULL default '0',
- `editions` mediumint(8) unsigned NOT NULL DEFAULT '0',
- comments mediumint(8) unsigned NOT NULL DEFAULT '0',
- votes mediumint(8) unsigned NOT NULL DEFAULT '0',
- `visible` tinyint(1) NOT NULL default '1',
- `locked` tinyint(1) NOT NULL default '0',
- PRIMARY KEY (`did`),
- KEY `title` (`title`),
- KEY `cid` (`cid`),
- KEY `authorid` (`authorid`),
- KEY `letter` (`letter`),
- KEY `lastedit` (`lastedit`),
- KEY `time` (`time`)
- ) TYPE=MyISAM;
復(fù)制代碼 我已經(jīng)使用hash針對did字段進(jìn)行了分區(qū)。但是我搜索字段通常是select title, tag, ... from wiki_doc where title= xxx。
這樣我用did分區(qū)的話,就跟沒有分沒多大區(qū)別了。
我現(xiàn)在希望能夠用title字段進(jìn)行分區(qū)(忘掉hash(did)分區(qū),重新開始分)。
問題是did是主鍵,我使用alter table wiki_doc drop primary key,報錯。
我在http://stackoverflow.com/上查了下,有人給出了類似的答案:
先去掉did的自增,然后去掉primary key,在title上建primary最后再把自增加到did上,這樣不知道可不可以?(我晚上回去試試)
請問像這種情況該如何分比較好,謝謝了! |
|