-
延迟加载。很多页面展现时,单个实体实际只展现部分内容,因此可按需加载,减轻数据库压力,又节省网络流量。延迟加载也可体现在数据库表的拆分设计上。
-
适当缓存,以空间换时间。对于很多实时性较低或干脆就是数据字典的内容,无需实时到数据库中加载,只需在使用前加载到内存中,实际使用时到内存中获取即可。
-
减少不必要的开连接(连接池、批量查询及提交)。对于大部分的Web应用,连接池大大减少了系统因开数据库连接产生的开销。而在查询和提交中,将多个任务合并到一次数据库操作中,也可以大大提高数据库使用效率。
-
乐观锁是高并发下不错的解决方式。相比于数据库的悲观锁,业务层实现的乐观锁,不仅能减少锁争抢,还可以减少数据库的锁开销,进而提高数据库使用效率。
-
分解大事务。数据库对于大事务的原子性保证,也是不容忽视的开销。业务使用时,尽量将大事务切分为小事务,或者适当利用异步提交,精简事务体积。
-
合理使用Join。数据库执行计划中,有一条准则是越简单越快速。所以通过适当冗余数据设计或业务层分批查询后内存组装数据,减少数据库Join语句及SQL复杂度,对于数据库执行效率和执行计划的优化都有不可忽视的好处。
- 首页
- 黄骅港旅游攻略一日游
- 正文