2
我想從批處理數據創建一個表用於數據挖掘目的。每天將有大約2500萬行數據進入此表。在表格中定義了幾個索引,所以插入(我做批量插入)速度非常慢。沒有指數,我可以堅持40K行,而指數更像3-4K,這使得整個事情變得不可行。因此,這個想法是白天分割數據,禁用鍵,然後做一天的插入,並重新啓用索引。重新啓用一天數據量的索引需要花費20分鐘,這很好。這使我想到我的問題。當您重新啓用指數時,是否必須重新計算所有分部的指數,還是僅僅爲那一天?似乎很清楚,對於分區所在的索引(在這種情況下是日期),它應該只在那一天。但其他指數呢?如果需要重新計算所有分區的索引,則無法在合理的時間內完成。有人知道嗎?Mysql分區索引
顯示創建是這樣的:
sts | CREATE TABLE `sts` (
`userid` int(10) unsigned DEFAULT NULL,
`urlid` int(10) unsigned DEFAULT NULL,
`geoid` mediumint(8) unsigned DEFAULT NULL,
`cid` mediumint(8) unsigned DEFAULT NULL,
`m` smallint(5) unsigned DEFAULT NULL,
`t` smallint(5) unsigned DEFAULT NULL,
`d` tinyint(3) unsigned DEFAULT NULL,
`requested` int(10) unsigned DEFAULT NULL,
`rate` tinyint(4) DEFAULT NULL,
`mode` varchar(12) DEFAULT NULL,
`session` smallint(5) unsigned DEFAULT NULL,
`sins` smallint(5) unsigned DEFAULT NULL,
`tos` mediumint(8) unsigned DEFAULT NULL,
PRIMARY KEY (userid, urlid, requested),
KEY `id_index` (`m`),
KEY `id_index2` (`t`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
,暫不分割。
你現在的表結構是什麼? (SHOW CREATE TABLE your_table'的輸出) – Jocelyn
我編輯過... – delmet