我正試圖設計一個數據庫表,每15分鐘將會面對30,000個插入。所以這張桌子將面臨數百萬個插入。如何配置/設計每隔15分鐘插入30,000個表格?
的試樣臺是作爲後續
CREATE TABLE `cdr` (`id` bigint(20) NOT NULL AUTO_INCREMENT,
`dataPacketDownLink` bigint(20) DEFAULT NULL,
`dataPacketUpLink` bigint(20) DEFAULT NULL,
`dataPlanEndTime` datetime DEFAULT NULL,
`dataPlanStartTime` datetime DEFAULT NULL,
`dataVolumeDownLink` bigint(20) DEFAULT NULL,
`dataVolumeUpLink` bigint(20) DEFAULT NULL,
`dataplan` varchar(255) DEFAULT NULL,
`dataplanType` varchar(255) DEFAULT NULL,
`createdOn` datetime DEFAULT NULL,
`deviceName` varchar(500) DEFAULT NULL,
`duration` int(11) NOT NULL,
`effectiveDuration` int(11) NOT NULL,
`hour` int(11) DEFAULT NULL,
`eventDate` datetime DEFAULT NULL,
`msisdn` bigint(20) DEFAULT NULL,
`quarter` int(11) DEFAULT NULL,
`validDays` int(11) DEFAULT NULL,
`dataLeft` bigint(20) DEFAULT NULL,
`completedOn` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `msisdn_index` (`msisdn`),
KEY `eventdate_index` (`eventDate`)
) ENGINE=MyISAM AUTO_INCREMENT=55925171 DEFAULT CHARSET=latin1;
我怎樣才能檢索記錄,如果使用比較> =在日期欄的情況下(導致數以百萬計的記錄)。 所以請幫我設計這樣的表格,這樣我就可以在不影響插入操作的情況下使用優化的選擇語句(很多索引在插入數百萬條記錄後產生問題)。 謝謝。
我真的會盡量避免使用MyISAM引擎。如果在其中一個大插入過程中發生某些事情,表格中沒有日誌,並且可能最終以不可恢復的方式加密。 – tadman