mysql的数据量范围能达到多少?
linux吧
全部回复
仅看楼主
level 12
yujiaaoshiwo 楼主
自建数据库 8核心16G 机器 邮件表超过100w 就开始卡的不行 select count(*) 40多s才返回。。。当然也有程序的问题 不会主动删除过期文件。。。 无力吐槽~
求mysql 通常优化 方案~
2017年12月18日 03点12分 1
level 12
yujiaaoshiwo 楼主
CREATE TABLE `mail` (
`messageid` int(10) unsigned NOT NULL AUTO_INCREMENT,
`uid` int(10) unsigned NOT NULL,
`sender` int(10) unsigned NOT NULL DEFAULT '0',
`receiver` int(10) unsigned NOT NULL DEFAULT '0',
`type` int(10) unsigned NOT NULL DEFAULT '0',
`mail_from` varchar(200) NOT NULL,
`mail_to` varchar(200) NOT NULL,
`subject` varchar(200) NOT NULL,
`content` text NOT NULL,
`isRead` int(10) unsigned NOT NULL DEFAULT '0',
`gift` int(4) NOT NULL DEFAULT '0',
`isreward` int(4) unsigned NOT NULL DEFAULT '0',
`item` varchar(500) DEFAULT NULL,
`del` int(1) NOT NULL DEFAULT '0',
`update_at` int(10) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`messageid`),
KEY `uid` (`uid`),
KEY `del` (`del`)
) ENGINE=InnoDB AUTO_INCREMENT=87924 DEFAULT CHARSET=utf8;
慢查询sql:
select count(*) as count, type from mail where uid=112000136 and isRead = 0 and del = 0 group by type;
update mail set del = 1 WHERE `uid` = 525000022 AND type = 2 AND `subject` LIKE '2-%';
@奋进的萝卜头 @大魔导师
虽然问题已经通过删除数据解决 但是还是问下如果以后遇到这类情况的通用优化方案 提前感谢并Orz 两位大牛
2017年12月26日 10点12分 10
第一个select,应该是group by的时候比较慢,建议对type加一个索引。 第二个明显就是like的问题了,对无索引字段一个个like,慢是必然的,解决不了。但是更新信息慢就慢了,基本没什么影响。
2017年12月27日 03点12分
level 12
yujiaaoshiwo 楼主
问题出现在程序不删除数据 将数据的del标记为1 就是删除了(无语)
然后就是这个一个很神奇的不分类查询 把几个字段合并成了一个字段用like查询(subject 里面有1 2 开头的是不同分类)
2017年12月26日 10点12分 12
1