开发者学堂课程【Java面试疑难点串讲2:Java数据库开发:数据库优化】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/25/detail/533
数据库优化
在现实的开发环境之中所谓的数据库优化都是骗人的。
实际上所请的数据库优化有根多层次。
1、语句上的忧化:尽量不要去使用复杂的多表查询,尽量不要频繁的使用各种神奇的统计查询。
如果需要的时候建议使用子查询来代替(子查询只是一种折中方案也不是最好的,只
是相对的,当你的数据量量大的时候,那么你所有认知的规则的全部都将改变)。.
2、数据库的优化只能够体现在查询上,而这个查询还是在认知范围内的数据量,例如使用索引,但是一旦使用了索引就不能够进行频繁的修改。
例如:在主键往往会设置索引,但是从另外一个角度,数据不应该进行物理删除,而要进逻辑删除,只是为了保证索引不被重新创建;
空间换时间、时间换空间:你的数据是否需要进行同步处理操作。
3、当存在有多个 RPC 业务端的时候, 可以考虑进行垂直拆库的做法, 这个时候只能够按照功能进行拆分, 这个是需要强大的接口技术支持的。
4、当分库也无法解决问题的时候就需要考虑数据库的水平拆分问题(认知范围内的唯一可以使用的最后方案)。
5、如果需要保证强大的查询性能,那么藏需要再次引入搜索引擎的概念进行分词处理。
</div>