[发明专利]一种数据库性能优化方法有效
申请号: | 201911349433.7 | 申请日: | 2019-12-24 |
公开(公告)号: | CN111104373B | 公开(公告)日: | 2023-09-19 |
发明(设计)人: | 肖萌璐;王健;陈东亮;朱健立;王松 | 申请(专利权)人: | 天地伟业技术有限公司 |
主分类号: | G06F16/13 | 分类号: | G06F16/13;G06F16/14;G06F16/16 |
代理公司: | 天津企兴智财知识产权代理有限公司 12226 | 代理人: | 陈雅洁 |
地址: | 300384 天津市滨海新区*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 性能 优化 方法 | ||
本发明创造提供了一种数据库性能优化方法,包括如下步骤:S1.优化数据库文件,将文件拆分;S2.优化查询,统一客户端和后台读写接口,提供数据库模块关闭接口,查询操作采用预编译模式;S3.优化文件管理,语句指定索引,剔除无效索引;S4.优化读写,采用WAL日志模式,单线程写,多线程读。本发明创造所述的一种数据库性能优化方法可以化整为零的按磁盘、时间段将its.db文件拆分,提高查询速度,降低db文件损坏几率以及修复成本。
技术领域
本发明创造属于嵌入式设备大数据领域,尤其是涉及一种数据库性能优化方法。
背景技术
作为智能交通方案的关键一环,交通主机主要承担接收前端相机抓拍记录,保存本地并上传平台的任务。一个路口,由一台主机接入4至8台交通相机,高峰时段接收3至5条过车记录,每天数据量超过20万,配合多块大容量磁盘,在满磁盘状态下数据总量超过千万。主机设备多采用嵌入式方案实现,cpu、内存等资源有限,磁盘在长时间使用下性能、稳定性降低,在这样的条件下,设备无法满足如此大数据量存储。同样,人脸nvr、人脸服务器等设备,也存在人脸图片抓拍量过大导致的性能问题,影响用户易用性。
发明内容
有鉴于此,本发明创造旨在提出一种数据库性能优化方法,以在硬件资源受限的条件下,支持千万级数据库快速读写,并提高数据稳定性。
为达到上述目的,本发明创造的技术方案是这样实现的:
一种数据库性能优化方法,包括如下步骤:
S1.优化数据库文件,将文件拆分;
S2.优化查询,统一客户端和后台读写接口,提供数据库模块关闭接口,查询操作采用预编译模式;
S3.优化文件管理,语句指定索引,剔除无效索引;
S4.优化读写,采用WAL日志模式,单线程写,多线程读。
进一步的,所述步骤S1包括:
A1.将数据库拆分为多个db文件,按磁盘、序号命名,文件通过tab_cfg表记录起止时间;
A2.整点对当前数据库进行判断,超过记录条数、天数限制,则新建数据库;
A3.满足数据删除条件且没有数据库连接情况下删除db文件;
A4.对一定时间内未操作数据库连接关闭,避免连接数过多问题;
A5.数据库主键调整,为保证设备唯一,每个数据库文件分配id,分库key由0自增,以(id22)+key作为模块对外主键;
A6.数据库文件大小检测,设定2G大小非法值,超出则删除重建。
进一步的,步骤S2包括:
B1.数据库读操作并发,同一线程注册一次数据库句柄,同一句柄后不在多线程使用;
B2.数据库读操作提供sqlite3_get_table、sqlite3_prepare两种接口;
B3.对各个磁盘查询时间段内数据库创建连接,分别查询并组合查询结果;
B4.每个数据库用户读操作线程独立,建立需要的数据库连接,当天数据库连接常开,关闭一定时间内未操作连接,避免连接数过多;
B5.提供针对磁盘初始化、故障统一关闭接口。
进一步的,所述步骤S3包括:
C1.默认首个可用磁盘为数据库主盘,存放config数据库文件,针对主盘格式化操作时,将config文件转存于内存,不改变主盘;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天地伟业技术有限公司,未经天地伟业技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911349433.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种手势操作的识别方法
- 下一篇:数据处理方法、装置、介质及电子设备