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

    简单使用

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

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

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

    链接:https://pan.baidu.com/s/1DYVXJmgZZc8LgoB091ReNw 
    提取码:rqhh
    
  • 相关阅读:
    国家行政区代码
    【无标题】
    猿创征文|【Vue3】插槽(Slot)基础使用
    技术分享 | my2sql 与 binlog2sql 解析效率 battle
    一文带你了解ADC测试参数有哪些?
    DS18B20 数字温度传感器实验
    Linux CentOS系统安装mysql8.0.31(tar方式)
    隧道精确定位系统硬件设备部署方案
    java.awt.FONT
    合规合规,合规法规的挑战与解决方案
  • 原文地址:https://blog.csdn.net/qq_43128256/article/details/139351870