使用Sqlite时有哪些可以优化的地方

使用Sqlite时有哪些可以优化的地方,第1张

概述使用Sqlite时有哪些可以优化地方 创建索引 索引有助于加快 SELECT 查询和 WHERE 子句,但它会减慢使用 UPDATE 和 INSERT 语句时的数据输入。索引可以创建或删除,但不会影响数据。 优点 加快了数据库检索的速度,包括对单表查询、连表查询、分组查询、排序查询。经常是一到两个数量级的性能提升,且随着数据数量级增长。 缺点 索引的创建和维护存在消耗,索引会占用物理空间,且随着 使用sqlite时有哪些可以优化的地方 创建索引

索引有助于加快 SELECT 查询和 WHERE 子句,但它会减慢使用 UPDATE 和 INSERT 语句时的数据输入。索引可以创建或删除,但不会影响数据。

优点

加快了数据库检索的速度,包括对单表查询、连表查询、分组查询、排序查询。经常是一到两个数量级的性能提升,且随着数据数量级增长。

缺点

索引的创建和维护存在消耗,索引会占用物理空间,且随着数据量的增加而增加。

在对数据库进行增删改时需要维护索引,所以会对增删改的性能存在影响。

使用场景 当某字段数据更新频率较低,查询频率较高,经常有范围查询(>,<,=,>=,<=)或order by、group by发生时建议使用索引。并且选择度越大,建索引越有优势,这里选择度指一个字段中唯一值的数量/总的数量。 经常同时存取多列,且每列都含有重复值可考虑建立复合索引

索引的创建和维护存在消耗,索引会占用物理空间,且随着数据量的增加而增加。
在对数据库进行增删改时需要维护索引,所以会对增删改的性能存在影响。

什么情况下要避免使用索引

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

索引不应该使用在较小的表上。 索引不应该使用在有频繁的大批量的更新或插入 *** 作的表上。 索引不应该使用在含有大量的 NulL 值的列上。 索引不应该使用在频繁 *** 作的列上。 使用事务 特点

原子性 *** 作,要么全部成功,要么全部失败;在执行大量数据的插入 *** 作时,避免频繁 *** 作cursor,可以大幅减少insert *** 作时间,一般为1-2个量级

查询必须字段

查询时只取需要的字段和结果集,更多的结果集会消耗更多的时间及内存,更多的字段会导致更多的内存消耗。

更多参考资料 SQLite 索引 性能优化之数据库优化 总结

以上是内存溢出为你收集整理的使用Sqlite时有哪些可以优化的地方全部内容,希望文章能够帮你解决使用Sqlite时有哪些可以优化的地方所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1162653.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存