数据过滤应该在SQL层和应用层的选择

实际开发中,经常性的从数据库读取数据,但是数据库中的数据并不全是业务逻辑实际需要的,这时,有两个选择,一个是在构建SQL查询语句时就写where子句进行过滤,另一个是将数据悉数读取出来,在客户机利用代码对返回数据进行过滤。

如果数据量较小,此两者方式差距不大。尽管关系型数据库的逻辑处理性能偏弱,但在数据行数较多的情况下,在SQL层查询时过滤往往能有效缩短客户机的请求时间。

经自己测试,应用层利用代码处理数据会极大影响应用的性能,并且造成代码所处的那处业务逻辑不具备可伸缩性,服务器也不得不发送多余的数据,导致网络宽带的浪费。