sqlite性能考量及使用(附可视化操作软件)

AI应用开发相关目录

本专栏包括AI应用开发相关内容分享,包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧
适用于具备一定算法及Python使用基础的人群

  1. AI应用开发流程概述
  2. Visual Studio Code及Remote Development插件远程开发
  3. git开源项目的一些问题及镜像解决办法
  4. python实现UDP报文通信
  5. python实现日志生成及定期清理
  6. Linux终端命令Screen常见用法
  7. python实现redis数据存储
  8. python字符串转字典
  9. python实现文本向量化及文本相似度计算
  10. python对MySQL数据的常见使用
  11. 一文总结python的异常数据处理示例
  12. 基于selenium和bs4的通用数据采集技术(附代码)
  13. 基于python的知识图谱技术
  14. 一文理清python学习路径
  15. Linux、Git、Docker常用指令
  16. linux和windows系统下的python环境迁移
  17. linux下python服务定时(自)启动
  18. windows下基于python语言的TTS开发
  19. python opencv实现图像分割
  20. python使用API实现word文档翻译
  21. yolo-world:"目标检测届大模型"
  22. 爬虫进阶:多线程爬虫
  23. python使用modbustcp协议与PLC进行简单通信
  24. ChatTTS:开源语音合成项目
  25. sqlite性能考量及使用(附可视化操作软件)

文章目录


简介

要为工厂上一个信息化管理项目,该项目仅在本地支持运行,且无需高并发,数据量在w级,考虑各方面因素选定sqlite,本文介绍一些考量过程和简单使用,给大家一定参考。

sqlite性能

SQLite是一款轻型的数据库,其数据库引擎库只有几百KB,因此可以方便地嵌入到其他应用程序中使用。无需搭建数据库环境

例如,SQLite可以创建GB级别的数据库支持高达每秒10万次的并发查询
读写操作可以同时进行

SQLite支持多个进程同时读取数据库,而不需要任何额外的锁定或同步机制,这使得它在读取密集型应用程序中表现出色。

SQLite的并发写入性能可能不如其他数据库,因为它使用了一种简单的锁定机制来确保数据的一致性。在高并发写入的场景下,SQLite可能不是最佳选择。

SQLite支持各种操作系统,包括Windows、Linux、Unix、Mac OS X等,因此可以方便地在不同的平台之间移植和交换数据。

SQLite还支持多种编程语言,如C、C++、Java、C#等,这增加了其使用的灵活性和便利性。

与其他数据库系统相比,SQLite在处理速度上表现出色。例如,在与MySQL和PostgreSQL的测试中,SQLite在某些常见操作上明显更快,有时高达10倍或20倍。

SQLite在处理数据时非常稳健可靠,能够支持多种类型的数据,并且具有事务处理和数据完整性等关键特性。

SQLite数据库以其轻量级、高效性、跨平台支持、良好的并发读取性能以及健壮的可靠性,在许多应用场景中表现出色。然而,在高并发写入的场景下,可能需要考虑其他数据库系统。

简单使用

python 复制代码
import sqlite3  
  
# 连接到SQLite数据库(如果不存在,则创建它)  
# 数据库文件是test.db,如果文件不存在,会自动在当前目录创建  
conn = sqlite3.connect('test.db')  
  
# 创建一个游标对象,用于执行SQL命令  
cursor = conn.cursor()
python 复制代码
# 创建一个名为students的表(如果尚不存在)  
cursor.execute('''  
CREATE TABLE IF NOT EXISTS students (  
    id INTEGER PRIMARY KEY AUTOINCREMENT,  
    name TEXT NOT NULL,  
    age INTEGER  
)  
''')  
  
# 提交(保存)更改  
conn.commit()
python 复制代码
# 插入一条新记录  
cursor.execute("INSERT INTO students (name, age) VALUES (?, ?)", ("Alice", 25))  
  
# 提交(保存)更改  
conn.commit()
python 复制代码
# 查询所有记录  
cursor.execute("SELECT * FROM students")  
rows = cursor.fetchall()  
  
for row in rows:  
    print(row)  
  
# 查询特定记录(例如,年龄为25的学生)  
cursor.execute("SELECT * FROM students WHERE age=?", (25,))  
row = cursor.fetchone()  
  
if row:  
    print(row)
python 复制代码
# 更新一条记录(例如,将Alice的年龄改为26)  
cursor.execute("UPDATE students SET age=? WHERE name=?", (26, "Alice"))  
  
# 提交(保存)更改  
conn.commit()
python 复制代码
# 删除一条记录(例如,删除年龄为26的学生)  
cursor.execute("DELETE FROM students WHERE age=?", (26,))  
  
# 提交(保存)更改  
conn.commit()
python 复制代码
# 关闭数据库连接  
conn.close()

每次执行完修改操作(如INSERT、UPDATE、DELETE)后,都需要调用conn.commit()来提交更改,否则更改将不会被保存到数据库中。同时,在完成所有操作后,应该关闭数据库连接以释放资源。

附可视化数据库操作、管理软件

python 复制代码
链接:https://pan.baidu.com/s/1DYVXJmgZZc8LgoB091ReNw 
提取码:rqhh
相关推荐
爱钓鱼的程序员小郭几秒前
阿里云自动配置安全组IP白名单
python·tcp/ip·安全·阿里云
梦醒过后说珍重3 分钟前
PyTorch 工程实践:如何优雅地将 ViT 大模型封装为即插即用的感知损失(Perceptual Loss)
python·深度学习
清风徐来QCQ5 分钟前
redis 面试可能会问的问题
数据库·redis·面试
这辈子谁会真的心疼你6 分钟前
如何修改照片定位信息?详细介绍两个方法
数据库
超越自我肖7 分钟前
python--函数返回值之None类型
python
Oueii9 分钟前
构建一个基于命令行的待办事项应用
jvm·数据库·python
在屏幕前出油11 分钟前
04. FastAPI——响应类型
开发语言·后端·python·pycharm·fastapi
Ivanqhz17 分钟前
寄存器分配的核心函数 allocate
java·开发语言·后端·python·rust
小瓦码J码20 分钟前
PostgreSQL pg_stat_statements 性能分析利器(二)全表扫描导致物理IO爆炸
数据库·postgresql
2501_9454235425 分钟前
如何为开源Python项目做贡献?
jvm·数据库·python