請問資料儲存在txt檔案中和資料庫中相比有什麼利弊啊?

時間 2021-06-01 12:38:27

1樓:趙偉

這麼小的資料量,完全不用考慮占用空間和讀寫速度哪個多哪個快的問題

使用資料庫的話你程式設計會簡便很多,比如你要檢索資料的話,使用資料庫就可以直接執行select語句來檢索,那麼程式編碼會方便很多。而且你這個資料庫還可能中檢索的同時持續追加更多資料,資料庫會幫你做併發控制和事務處理,用檔案儲存的話後續你一定需要手動處理這些問題,非常低效。

如果是裝置上面執行db的話,建議使用mysql的嵌入式版本,因為sqlite的併發控制粒度太大,是全域性鎖,也就是讀的時候不可以寫入,寫的時候不可以讀。如果是伺服器上嗎的話必須使用mysql,sqlite也就適合客戶端程式內部簡單訪問資料而已。

2樓:

上面是說文字檔案主要是獨佔使用,當然也可以共享訪問,在日常業務系統裡面,配置檔案與日誌主要採用文字檔案;

開啟檢視文字檔案非常方便,不需要特別的軟體或者中介軟體;在Linux下;使用cat tail head等命令都可以方便檢視,也可以用命令進行查詢等;而資料庫的訪問都需要別的工具來輔助;

資料庫的查詢、統計、更新非常方便;例如檢視每天8:00-9:00時間段的所有資料,或者只顯示統計資訊等;還有索引、快取、多使用者併發使用等功能

是需要資料的簡單存檔?

想節省儲存空間?

還是需要資料查詢統計更新等?

或者是多使用者共享訪問?

問題1:資料庫儲存是否會節約儲存空間?

用資料庫肯定會增加儲存空間的使用;增加了很多額外與輔助的內容,例如索引

但是從大的業務來說,資料庫可以將一些共性字段進行關聯使用,消除某些冗餘字段,這樣可以節省空間;

問題2:c語言讀寫txt檔案和讀寫資料庫(sqlite3)的速度是否相差很大?嵌入式系統,樹莓派2代之類的。

文字檔案的優勢是順序讀寫;可以達到很快的速度;資料庫的優勢是可以查詢;不需要順序讀寫

sqlite3是單檔案資料庫,它具備資料庫的一些功能與優點,但是無法多使用者併發;

雲端肯定是要存資料庫至於用RDBMS 還是NoSQL看具體業務需求

你需要的是資料庫入門書籍+動手實踐

3樓:「已登出」

第一,你存文字和存資料庫,不一定資料庫會節省空間,但是可預見的,大部分情況下資料庫會更節省空間,尤其是在大資料量的情況下;

第二,讀寫文字檔案和資料庫速度差別肯定非常大,首先資料庫有索引之類的,可以加速資料讀取寫入效率,當然你文字檔案也可以實現這些,但是跟自己從頭寫個資料庫沒差別了,文字檔案讀寫你總得要考慮命中率,文字的遍歷命中是很低的;

第三,sqlite其實不推薦在服務端使用,因為在併發讀寫的情況下表現很差,至少連2個9的可靠性都達不到,物聯網裝置要的是高讀高寫還有大資料量,其實我是推薦MongoDB的,不過你這裡選用MySQL也是可以的;

第四,關於背後的原理,你可以了解下資料結構相關的知識和找一些資料庫實現原理相關的資料;

資料庫管理系統dbms和資料庫dbs是什麼關係?

李宇明 一般的劃分 DB,即database,一般指乙個具體的資料集 庫 可以理解成database instance 如果是關係模型的話,就是一堆資料表 索引和檢視啥的。但是一般在寫作時或者交流時,database也可指下面兩個詞的含義,所以它的具體含義還得看上下文 DBMS,即database ...

資料庫中表和資料什麼關係?

小C快樂的一天 資料庫中的表是組成資料的重要組成部分。就像是水杯和水杯裡面的水。沒有資料庫中的表,內容怎麼組成乙個乙個的資料內容。資料庫是各種資料表的乙個集合或者說是乙個容器。一般應用情況下乙個資料庫系統建立乙個資料庫,但這個資料庫中根據需要建立若干個資料表。但如果你的應用比較複雜也可以建立兩個資料...

請問分析型資料庫是什麼?它和關係型資料庫有什麼區別?

蔡志巨集 分析型資料庫通常指的是多維資料倉儲。OLAP。典型的包括 Essbase,TM1,BW,SQL Server AS,智達方通 Intcube OLAP等。關係型資料庫 RDBMS,OLTP,適合搭建事務型交易型應用,簡單來講,擅長記流水賬。但不擅長做資料分析,因為其資料的結構性要弱於資料倉...