对于一个典型的web应用,通常在后台都包括大量的数据库操作,如果这类系统存在性能瓶颈,我们首先应该想到的优化点就是: 优化数据库。
更好的做法是在系统设计和开发的初期就把数据库进行优化,这样相比后期的数据库优化的代价要小得多。但实际上,在通常的web开发中,我们看到太多的系统设计和代码实现中将数据库当作计算器使用,他们将大量的数据逻辑运算放置到数据库SQL操作中完成,在他们看来,数据库不但是一个存储和查询系统,同时也是一个使用方便的计算器: 各种sort,sum…操作都大量出现在SQL操作中。
对于少量的toy级别的数据量,在SQL中包含复杂的算术操作没有问题,因为数据量很小,运算速度可以很快。但是对于包含海量数据的互联网应用,对千万级别的数据量进行算术运算,这里面对数据库整体产生的性能影响,尽而对系统的整体产生的性能影响就必须要注意了。
数据库作为一个server对外提供数据的查询和存储操作,同时要响应多个SQL查询请求,任何一个性能低下的SQL查询的都将对整个数据库的恨不能产生影响,这也会影响到其它的查询的性能,也就是说这种影响是全局的。
让每一个数据查询操作都在最快的时间内完成,将会从整体上提升数据库的并发处理能力,从而也可以从整体上提升系统的整体性能。
简单的总结就是: 优化SQL操作,让查询操作在最短的时间内完成,不要把数据当计算器使用。
本站原创文章,转载请注明出处。
评论
发表评论 反向链接