现主要一个问题,每天有大量数据插入这数据表内
有3G文件数据要读取插入这表不知怎办, 这是两个设置了唯一
UNIQUE KEY `url` (`url`),
UNIQUE KEY `domain` (`domain`),
插入失败就更新, 现表里已存在2700W数据了,现批量插入非常慢, 插入时索引去掉了但还是非常慢, 不知怎解决了,希望能给点思路, 更是已经写成批量更新10条数据,还是非常慢慢插入速度太慢了,
下面是表结构
CREATE TABLE IF NOT EXISTS `sk5url_2` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`domain` varchar(255) NOT NULL,
`url` varchar(1000) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
`referer` varchar(1000) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
`firsttime` datetime NOT NULL,
`lasttime` datetime NOT NULL,
`time` int(11) NOT NULL,
`isurl` int(11) NOT NULL DEFAULT '1',
`offerid` int(11) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `url` (`url`),
UNIQUE KEY `domain` (`domain`),
KEY `index_name` (`domain`,`isurl`),
KEY `sk5url_2_time` (`time`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
有3G文件数据要读取插入这表不知怎办, 这是两个设置了唯一
UNIQUE KEY `url` (`url`),
UNIQUE KEY `domain` (`domain`),
插入失败就更新, 现表里已存在2700W数据了,现批量插入非常慢, 插入时索引去掉了但还是非常慢, 不知怎解决了,希望能给点思路, 更是已经写成批量更新10条数据,还是非常慢慢插入速度太慢了,
下面是表结构
CREATE TABLE IF NOT EXISTS `sk5url_2` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`domain` varchar(255) NOT NULL,
`url` varchar(1000) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
`referer` varchar(1000) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
`firsttime` datetime NOT NULL,
`lasttime` datetime NOT NULL,
`time` int(11) NOT NULL,
`isurl` int(11) NOT NULL DEFAULT '1',
`offerid` int(11) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `url` (`url`),
UNIQUE KEY `domain` (`domain`),
KEY `index_name` (`domain`,`isurl`),
KEY `sk5url_2_time` (`time`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
解决方案:坚决分表