数据库优化

<<<先记录,后面再整理>>>

 

问题发起:

起初数据库没做过多设计,所以实时数据都放在实时表里了,天长日久,这张表就膨胀了。

最关心的问题是mysql到底对单个表的管理能力有多强,单个表能达到多大?数据条数达到多少会影响访问性能?

 windows server 2008 64位OS、mysql、5.1、局域网千兆网卡、40个下位机,上报频率20秒一次,Raid5、8G内存、3.2G8CPU

问题比这简单多了:并发访问不大,就几个大佬要开个会,查查历史数据,讨论一下生产线的瓶颈在哪儿,提供一点数据说明,所以没啥并发量,对历史数据的访问,就是做几个报告;问题在于时间长了,如果是单表,表大了,想分小点,仅此而已。

 

讨论过程中,发现很多同学都往I/O、并发量、磁盘阵列等访问优化上讨论了,才发现大部分同学都是处理Web高并发访问的高手,把问题都推向了解决并发访问的方向去了:方向错了

 

mysql到底对单个表的管理能力有多强,单个表能达到多大?数据条数达到多少会影响访问性能?下面搜到了一些信息(注:现在的mysql已经是5.1了):

MySQL 3.22限制的表大小为4GB。由于在MySQL 3.23中使用了MyISAM存储引擎,最大表尺寸增加到了65536TB(2567 – 1字节)。由于允许的表尺寸更大,MySQL数据库的最大有效表尺寸通常是由操作系统对文件大小的限制决定的,而不是由MySQL内部限制决定的。

InnoDB存储引擎将InnoDB表保存在一个表空间内,该表空间可由数个文件创建。这样,表的大小就能超过单独文件的最大容量。表空间可包括原始磁盘分区,从而使得很大的表成为可能。表空间的最大容量为64TB。

发表评论

电子邮件地址不会被公开。