想问一下,在mysql中用create database 创建的一个数据库,数据的存放量会有多大呢?能存放几万或几十条的记录吗?还有对连接数量有没有限制呢?比如有几十个或几百个人同时访问会不会有什么影响呢?

解决方案 »

  1.   

    1、表容量
    MySQL 3.22限制的表大小为4GB。由于在MySQL 3.23中使用了MyISAM存储引擎,最大表尺寸增加到了65536TB(2567 – 1字节)。由于允许的表尺寸更大,MySQL数据库的最大有效表尺寸通常是由操作系统对文件大小的限制决定的,而不是由MySQL内部限制决定的。InnoDB存储引擎将InnoDB表保存在一个表空间内,该表空间可由数个文件创建。这样,表的大小就能超过单独文件的最大容量。表空间可包括原始磁盘分区,从而使得很大的表成为可能。表空间的最大容量为64TB。在下面的表格中,列出了一些关于操作系统文件大小限制的示例。这仅是初步指南,并不是最终的。要想了解最新信息,请参阅关于操作系统的文档。操作系统文件大小限制Linux 2.2-Intel 32-bit2GB (LFS: 4GB)Linux 2.4+(using ext3 filesystem) 4TBSolaris 9/1016TBNetWare w/NSS filesystem8TBwin32 w/ FAT/FAT322GB/4GBwin32 w/ NTFS2TB(可能更大)MacOS X w/ HFS+2TB在Linux 2.2平台下,通过使用对ext2文件系统的大文件支持(LFS)补丁,可以获得超过2GB的MyISAM表。在Linux 2.4平台下,存在针对ReiserFS的补丁,可支持大文件(高达2TB)。目前发布的大多数Linux版本均基于2.4内核,包含所有所需的LFS补丁。使用JFS和XFS,petabyte(千兆兆)和更大的文件也能在Linux上实现。然而,最大可用的文件容量仍取决于多项因素,其中之一就是用于存储MySQL表的文件系统。
    2、最大连接数
    允许的连接数由max_connections系统变量控制。默认值为100。如果需要支持更多的连接,应使用该变量的较大值重启mysqld。mysqld实际上允许max_connections+1个客户端进行连接。额外的连接保留给具有SUPER权限的账户。通过为系统管理员而不是普通用户授予SUPER权限(普通用户不应具有该权限),系统管理员能够连接到服务器,并使用SHOW PROCESSLIST来诊断问题,即使已连接的无特权客户端数已达到最大值也同样。请参见13.5.4.16节,“SHOW PROCESSLIST语法”。MySQL能支持的最大连接数取决于给定平台上线程库的质量。Linux或Solaris应能支持500-1000个并发连接,具体情况取决于RAM容量,以及客户端正在作什么。MySQL AB提供的静态Linux库能支持高达4000个连接。
      

  2.   

    我在项目中遇到的情况是,有一亿多的的数据量,
    如果有建索引的话,访问速度凑合
    mysql性能还行,
    一秒内可以扫描450万行记录
      

  3.   

    连接数的限制
    理论上来说,单台,可以同时有1000的连接linux上会比windows多一些如果有4G以上的内存,都会设置500以上
    一般的服务器都会有4G效果怎样,还是看程序的性能
      

  4.   

    想问一下,在mysql中用create database 创建的一个数据库,
    数据的存放量会有多大呢?

    受你的磁盘限制。能存放几万或几十条的记录吗?
    可以还有对连接数量有没有限制呢?比如有几十个或几百个人同时访问会不会有什么影响呢?
    并发连接数受内存限制。多人同时访问会有效率上的影响
      

  5.   

    你可以参考一下手册中关于 限制的说明。MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html