Mysql单表太大,性能受影响求指点

[复制链接]
查看11 | 回复4 | 2017-5-5 18:10:35 | 显示全部楼层 |阅读模式
在查询的时候加个时间或者其他的限制吧。比如查询前一个月的。不是每个数据都需要查询全部的数据的。=。=有人点赞了,那就完善一下回答:查看索引,如果是时间条件查询的报警,那么看看是不是这个字段加了索引。减少不需要的数据。可以删掉不需要的数据。比如3个月前的。不想删也行。历史数据单独存表。分区。...
回复

使用道具 举报

千问 | 2017-5-5 18:10:35 | 显示全部楼层
这么大的表优化是很痛苦的,看你对数据的用途,如果不经常查询、而是频繁的增加,可以考虑定期(每周或者每日)把表中的数据复制到历史表中,清空工作表的数据,这样插入的效率能大大提高,但是查询的时候需要在两个表中进行查询。用于频繁插入数据的工作表要尽量少建索引,用于查询的历史表要多建索引。...
回复

使用道具 举报

千问 | 2017-5-5 18:10:35 | 显示全部楼层
优化可以分为纵向分割表和横向分割表两种1、纵向的话你可以根据索引的主键将表分割一下,比如1-10000的分成一个表,10001-20000的分一个表,或者a开头的一个表,b开头的一个表,然后在程序中修改一下查找的语句就可以了2、横向分割可以把字段分割开来,把查询频繁的分割为一个表,把想对不频繁的分割成一个表...
回复

使用道具 举报

千问 | 2017-5-5 18:10:35 | 显示全部楼层
InnoDB类型的数据,将数据写入到一个文件里面多表操作频繁读取和写入到一个文件,磁盘性能,良好的工作。 ,操作系统的单个文件大小是有限的,这取决于磁盘上的格式。 考虑更换MyISAM格式,将快得多,但会有一些事务,不能使用。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行