一、數(shù)據(jù)保存在txt文件中和數(shù)據(jù)庫中相比有什么利弊
這么小的數(shù)據(jù)量,完全不用考慮占用空間和讀寫速度哪個(gè)多哪個(gè)快的問題
使用數(shù)據(jù)庫的話你編程會簡便很多,比如你要檢索數(shù)據(jù)的話,使用數(shù)據(jù)庫就可以直接執(zhí)行select語句來檢索,那么程序編碼會方便很多。而且你這個(gè)數(shù)據(jù)庫還可能中檢索的同時(shí)持續(xù)追加更多數(shù)據(jù),數(shù)據(jù)庫會幫你做并發(fā)控制和事務(wù)處理,用文件存儲的話后續(xù)你一定需要手動(dòng)處理這些問題,非常低效。
如果是設(shè)備上面運(yùn)行db的話,建議使用mysql的嵌入式版本,因?yàn)閟qlite的并發(fā)控制粒度太大,是全局鎖,也就是讀的時(shí)候不可以寫入,寫的時(shí)候不可以讀。如果是服務(wù)器上嗎的話必須使用mysql,sqlite也就適合客戶端程序內(nèi)部簡單存取數(shù)據(jù)而已。
數(shù)據(jù)庫與文本文件的差異非常多; 但從使用來說最基本的差異: 文本文件主要是獨(dú)占使用;數(shù)據(jù)庫多用于共享使用;
上面是說文本文件主要是獨(dú)占使用,當(dāng)然也可以共享訪問,在日常業(yè)務(wù)系統(tǒng)里面,配置文件與日志主要采用文本文件;
打開查看文本文件非常方便,不需要特別的軟件或者中間件;在Linux下;使用cat tail head等命令都可以方便查看,也可以用命令進(jìn)行查找等;而數(shù)據(jù)庫的訪問都需要?jiǎng)e的工具來輔助;
數(shù)據(jù)庫的查詢、統(tǒng)計(jì)、更新非常方便;例如查看每天8:00-9:00時(shí)間段的所有數(shù)據(jù),或者只顯示統(tǒng)計(jì)信息等;還有索引、緩存、多用戶并發(fā)使用等功能。
延伸閱讀:
二、文件打開方式
文件的打開方式有下面這幾種:
r: 以只讀方式打開文件。文件的指針將會放在文件的開頭。默認(rèn)打開方式。
rb: 以二進(jìn)制只讀方式打開一個(gè)文件。文件指針放在文件的開頭。
r+: 以讀寫方式打開一個(gè)文件。文件指針會放在文件的開頭。
rb+: 以二進(jìn)制讀寫方式打開一個(gè)文件。文件指針會放在文件的開頭。
w: 以寫入方式打開一個(gè)文件。如果文件存在,則覆蓋原文件。如果文件不存在,則新建文件。
wb: 以二進(jìn)制寫入方式打開一個(gè)文件。如果文件存在,則覆蓋原文件。如果文件不存在,則新建文件。
w+: 以讀寫方式打開一個(gè)文件。如果文件存在,則覆蓋原文件。如果文件不存在,則新建文件。
wb+: 以二進(jìn)制讀寫方式打開一個(gè)文件。如果文件存在,則覆蓋原文件。如果文件不存在,則新建文件。
a: 追加方式打開文件。如果文件存在,指針在文件末尾,新內(nèi)容寫入到原有內(nèi)容后面。如果文件不存在,創(chuàng)建新文件。
ab: 二進(jìn)制追加方式打開文件。(同上)。
a+: 追加讀寫方式打開文件。如果文件存在,指針在文件末尾。如果文件不存在,創(chuàng)建新文件。
ab+: 二進(jìn)制追加方式打開一個(gè)文件。(同上)。