性能优化3--数据库优化

Posted ganchuanpu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了性能优化3--数据库优化相关的知识,希望对你有一定的参考价值。

1> 索引

虽然索引的目的在于提高数据库的性能,但这里有几个情况需要避免使用索引。使用索引时,应重新考虑下列准则:

索引不应该使用在较小的表上。
索引不应该使用在有频繁的大批量的更新或插入操作的表上。
索引不应该使用在含有大量的 NULL 值的列上。
索引不应该使用在频繁操作的列上。

技术分享图片

2> 事务

  对于事务,就是数据库的一次原子性的执行操作。原子性的执行操作为数据的整体性执行带来的可靠安全性。在SQLite中,如果我们默认事务(会为每个插入和更新都创建一次事务,并且在每次插入和更新后会立刻提交本次操作),即没有手动创建事务,假设此时有1000条数据,那么数据的执行流程是 创建事务 -> 执行插入或更新操作 -> 提交事务,这样的流程会执行1000次。如果我们手动创建了事务,则执行流程为: 创建事务 -> 执行1000条SQL数据操作 -> 提交事务。很明显,我们在SQLite中使用事务可以为插入和更新操作带来很大的优化。下面来看在SQLite中如何使用事务:

技术分享图片

从上图我们看到,执行一次事务分为了四步,分别是:开始事务 ->  执行SQL ->设置事务执行成功 ->  结束事务

 

以上是关于性能优化3--数据库优化的主要内容,如果未能解决你的问题,请参考以下文章

php性能优化

JavaScript性能优化5——JSBench工具的使用

JavaScript性能优化5——JSBench工具的使用

ElasticSearch 亿级数据检索深度性能优化

前端开发代码结构及性能优化大总结

前端总结--性能优化