1> 索引
虽然索引的目的在于提高数据库的性能,但这里有几个情况需要避免使用索引。使用索引时,应重新考虑下列准则:
索引不应该使用在较小的表上。 索引不应该使用在有频繁的大批量的更新或插入操作的表上。 索引不应该使用在含有大量的 NULL 值的列上。 索引不应该使用在频繁操作的列上。
2> 事务
对于事务,就是数据库的一次原子性的执行操作。原子性的执行操作为数据的整体性执行带来的可靠安全性。在SQLite中,如果我们默认事务(会为每个插入和更新都创建一次事务,并且在每次插入和更新后会立刻提交本次操作),即没有手动创建事务,假设此时有1000条数据,那么数据的执行流程是 创建事务 -> 执行插入或更新操作 -> 提交事务,这样的流程会执行1000次。如果我们手动创建了事务,则执行流程为: 创建事务 -> 执行1000条SQL数据操作 -> 提交事务。很明显,我们在SQLite中使用事务可以为插入和更新操作带来很大的优化。下面来看在SQLite中如何使用事务:
从上图我们看到,执行一次事务分为了四步,分别是:开始事务 -> 执行SQL ->设置事务执行成功 -> 结束事务