
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
数据库的开发与应用在许多软件编程开发项目中都是会经常用到的一个编程开发技术,而本文我们就通过案例分析来讲简单了一下,数据库优化方法都有哪些。
1避免使用select*
很多时候,我们写sql语句时,为了方便,喜欢直接使用select*,一次性查出表中所有列的数据。
2用unionall代替union
我们都知道sql语句使用union关键字后,可以获取排重后的数据。
而如果使用unionall关键字,可以获取所有数据,包含重复的数据。
除非是有些特殊的场景,比如unionall之后,结果集中出现了重复数据,而业务场景中是不允许产生重复数据的,这时可以使用union。
3小表驱动大表
小表驱动大表,也就是说用小表的数据集驱动大表的数据集。
假如有order和user两张表,其中order表有10000条数据,而user表有100条数据。
这时如果想查一下,所有有效的用户下过的订单列表。
4批量操作
如果你有一批数据经过业务处理之后,需要插入数据,该怎么办?
这样只需要远程请求一次数据库,sql性能会得到提升,数据量越多,提升越大。
但需要注意的是,不建议一次批量操作太多的数据,如果数据太多数据库响应也会很慢。批量操作需要把握一个度,建议每批数据尽量控制在500以内。如果数据多于500,则分多批次处理。
5多用limit
有时候,我们需要查询某些数据中的一条。这样即使误操作,比如把id搞错了,也不会对太多的数据造成影响。
6in中值太多
对于批量查询接口,我们通常会使用in关键字过滤出数据。比如:想通过指定的一些id,批量查询出用户信息。
还有一个方案就是:如果ids超过500条记录,可以分批用多线程去查询数据。每批只查500条记录,后把查询到的数据汇总到一起返回。
不过这只是一个临时方案,不适合于ids实在太多的场景。因为ids太多,即使能快速查出数据,但如果返回的数据量太大了,网络传输也是非常消耗性能的,接口性能始终好不到哪里去。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。