请问数据保存在txt文件中和数据库中相比有什么利弊啊?
一、数据保存在txt文件中和数据库中相比有什么利弊
这么小的数据量,完全不用考虑占用空间和读写速度哪个多哪个快的问题
使用数据库的话你编程会简便很多,比如你要检索数据的话,使用数据库就可以直接执行select语句来检索,那么程序编码会方便很多。而且你这个数据库还可能中检索的同时持续追加更多数据,数据库会帮你做并发控制和事务处理,用文件存储的话后续你一定需要手动处理这些问题,非常低效。
如果是设备上面运行db的话,建议使用mysql的嵌入式版本,因为sqlite的并发控制粒度太大,是全局锁,也就是读的时候不可以写入,写的时候不可以读。如果是服务器上吗的话必须使用mysql,sqlite也就适合客户端程序内部简单存取数据而已。
数据库与文本文件的差异非常多; 但从使用来说最基本的差异: 文本文件主要是独占使用;数据库多用于共享使用;
上面是说文本文件主要是独占使用,当然也可以共享访问,在日常业务系统里面,配置文件与日志主要采用文本文件;
打开查看文本文件非常方便,不需要特别的软件或者中间件;在Linux下;使用cat tail head等命令都可以方便查看,也可以用命令进行查找等;而数据库的访问都需要别的工具来辅助;
数据库的查询、统计、更新非常方便;例如查看每天8:00-9:00时间段的所有数据,或者只显示统计信息等;还有索引、缓存、多用户并发使用等功能。
延伸阅读:
二、文件打开方式
文件的打开方式有下面这几种:
r: 以只读方式打开文件。文件的指针将会放在文件的开头。默认打开方式。
rb: 以二进制只读方式打开一个文件。文件指针放在文件的开头。
r+: 以读写方式打开一个文件。文件指针会放在文件的开头。
rb+: 以二进制读写方式打开一个文件。文件指针会放在文件的开头。
w: 以写入方式打开一个文件。如果文件存在,则覆盖原文件。如果文件不存在,则新建文件。
wb: 以二进制写入方式打开一个文件。如果文件存在,则覆盖原文件。如果文件不存在,则新建文件。
w+: 以读写方式打开一个文件。如果文件存在,则覆盖原文件。如果文件不存在,则新建文件。
wb+: 以二进制读写方式打开一个文件。如果文件存在,则覆盖原文件。如果文件不存在,则新建文件。
a: 追加方式打开文件。如果文件存在,指针在文件末尾,新内容写入到原有内容后面。如果文件不存在,创建新文件。
ab: 二进制追加方式打开文件。(同上)。
a+: 追加读写方式打开文件。如果文件存在,指针在文件末尾。如果文件不存在,创建新文件。
ab+: 二进制追加方式打开一个文件。(同上)。
猜你喜欢LIKE
相关推荐HOT
更多>>什么是webpack?
一、webpack的概念 webpack 是代码编译工具,有入口、出口、loader 和插件。webpack 是一个用于现代 JavaScript 应用程序的静态模块打包工具。...详情>>
2023-10-20 22:17:55公司管理者的角色定位是什么?
1、业务指挥者管理者处于工作最前线,企业的工作任务,都要分解落实到各个部门甚至班组。通过管理者的正确指挥,才能得以实现。管理者的指挥作...详情>>
2023-10-20 20:14:29trello干什么的?
一、创建任务列表Trello的核心功能是帮助用户创建任务列表。您可以创建一个新的“看板”,然后将任务分配到各个列表中。例如,在一个应用程序开...详情>>
2023-10-20 19:40:39MySQL分表后怎么查询效率高?
一、MySQL分表后提高查询效率的方法1、查询路由根据分表规则将查询路由到特定的分表,只查询所需的分表,避免全表扫描。这可以通过应用程序或数...详情>>
2023-10-20 18:35:22热门推荐
node是什么?
沸程序员都上什么网站?
热#!/usr/bin/env python有什么用?
热什么是webpack?
新什么是模块化编程什么是module?
Python内置函数有哪些?
HTML、CSS、JavaScript分别实现什么功能?
公司管理者的角色定位是什么?
trello干什么的?
ddl文件用什么软件打开?
MySQL分表后怎么查询效率高?
mysql 不加条件查询速度挺快,加上过滤条件就特别慢是为什么?
Mybatis中,resultMap collection的应用场景是什么样子的?
endnote9的online search没有数据库选项是怎么回事?