一般什么情况下,数据库会大量占用内存导致最后的溢出情况?
1个回答
展开全部
我能想到的常见的和理论上的情况有下面几种:
1. 假设同时有1000个人访问数据库,每人需要调用3M大小的数据,同时处理的数据量是3G,服务器只有2G内存。这种情况只是理论上,服务器数据库都有多线程阻塞技术,和事务处理逻辑,来保证数据处理的先后顺序,而不会是绝对的同时进行。不过一般的请求很少有超过50KB的,请求的数据量越大,同时连接的人数就越少,这是公认的数据库使用定律。
2. 复杂的join语句,造成对多个大容量的表进行join操作。
3. 数据库端过程函数编程。程序里面逻辑错误,数组分配不合理,或者陷入死循环,或者一次读出太多数据,然后一起处理。
1. 假设同时有1000个人访问数据库,每人需要调用3M大小的数据,同时处理的数据量是3G,服务器只有2G内存。这种情况只是理论上,服务器数据库都有多线程阻塞技术,和事务处理逻辑,来保证数据处理的先后顺序,而不会是绝对的同时进行。不过一般的请求很少有超过50KB的,请求的数据量越大,同时连接的人数就越少,这是公认的数据库使用定律。
2. 复杂的join语句,造成对多个大容量的表进行join操作。
3. 数据库端过程函数编程。程序里面逻辑错误,数组分配不合理,或者陷入死循环,或者一次读出太多数据,然后一起处理。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询