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
相关推荐
hboot40 分钟前
AI工程师第三课 - 机器学习基础
python·scikit-learn·kaggle
顾林海5 小时前
Agent入门阶段-编程基础-Python:流程控制
python·agent·ai编程
呱呱复呱呱8 小时前
Django CBV 源码解读:一个请求是怎么找到你的 get() 方法的
python·django
Nturmoils9 小时前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库
曲幽13 小时前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
渣波13 小时前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
荣码13 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
兵慌码乱1 天前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理
金銀銅鐵1 天前
[Python] 体验用欧几里得算法计算最大公约数的过程
python·数学
FreakStudio1 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机