一、用char儲(chǔ)存時(shí)間與用datetime有什么區(qū)別
1、存儲(chǔ)類型,char的本質(zhì)是定長(zhǎng)字符串,datetime表現(xiàn)是時(shí)間類型,本質(zhì)是int。精度要求相同時(shí),char占用的空間更大。
2、char可以存儲(chǔ)時(shí)間的長(zhǎng)度和精度可以完全由程序決定,datetime則由數(shù)據(jù)庫本身決定。
3、作為索引的查詢性能,datetime的存儲(chǔ)類型更短,而且為int類型辨識(shí)度更高,在where或join時(shí)可以有更好的性能。
所以,datetime更節(jié)約空間,有更好的查詢性能,如果datetime的長(zhǎng)度或精度不滿足需求,建議存儲(chǔ)bigint類型的時(shí)間戳,沒有必要將時(shí)間類型存為char。
數(shù)據(jù)庫日期類型使用Varchar與DateTime優(yōu)缺點(diǎn)
1、String 存儲(chǔ)比較靈活,你可以存成 2021-1-1 ,也可以存成 2021-01-01 、2021-01.01 隨心所欲,如果只是用來展示出來,不用考慮格式
2、String類型的字節(jié)數(shù)大小遠(yuǎn)大于datetime等類型,造成空間浪費(fèi),datetime本質(zhì)上是雙int型;
3、String類型的日期格式固定,無法像datetime一樣調(diào)整顯示格式,不同格式要進(jìn)行join,需要兩次類型轉(zhuǎn)換;
4、String類型無法處理時(shí)區(qū)等信息;
5、因?yàn)槿绻胿archar 來存儲(chǔ)年月日,那么需要10個(gè)字節(jié),而date類型只需4個(gè)字節(jié),而datetime類型也只需要8個(gè)字節(jié),都小于varchar類型。
6、在進(jìn)行查找、比較時(shí),由于date和datetime本質(zhì)上存儲(chǔ)在數(shù)據(jù)庫中是一個(gè)數(shù)字,所以直接通過數(shù)值比較效率很高,而varchar進(jìn)行比較必需要一個(gè)字符一個(gè)字符比較,所以速度很慢。如果再想深一點(diǎn),一條記錄少了幾個(gè)字節(jié),關(guān)鍵是如果記錄數(shù)多,那么總體節(jié)省的字節(jié)數(shù)就會(huì)很多,另外,加載到內(nèi)存后,閘弄的內(nèi)存更少,同時(shí)也只需要更少的IO,查詢速度更快
?數(shù)據(jù)庫中存儲(chǔ)日期的字段類型到底應(yīng)該用varchar還是datetime ?這兩種方法各有優(yōu)勢(shì),datetime可以借用sql函數(shù)庫中運(yùn)算函數(shù),增加了時(shí)間在各種運(yùn)算上的效率;而varchar類型則可以在字符編碼上顯出優(yōu)勢(shì)。在 存儲(chǔ)的時(shí)間將來不需要進(jìn)行大量計(jì)算的前提下,可以考慮選擇varchar類型,反之,選擇datetime類型。
正常使用時(shí)推薦使用DateTime類型?,而非Varchar類型,因?yàn)榧热粩?shù)據(jù)庫設(shè)計(jì)出這個(gè)類型還是有它的道理。
延伸閱讀:
二、Navicat是什么
Navicat是一套快速、可靠和全面的數(shù)據(jù)庫管理工具,專門用于簡(jiǎn)化數(shù)據(jù)庫管理和降低管理成本。Navicat圖形界面直觀,提供簡(jiǎn)便的管理方法,設(shè)計(jì)和操作MySQL、MariaDB、SQL Server、Oracle、PostgreSQL和SQLite的數(shù)據(jù)。
Navicat提供一個(gè)直觀和設(shè)計(jì)完善的用戶界面,用于創(chuàng)建、修改和管理資料庫的所有對(duì)象,例如表、視圖、函數(shù)或過程、索引、觸發(fā)器和序列。我們的表設(shè)計(jì)器幫助用戶創(chuàng)建和修改數(shù)據(jù)庫的表,讓設(shè)置高級(jí)選項(xiàng),如關(guān)系、限制、觸發(fā)器和更多。
使用Navicat瀏覽和修改數(shù)據(jù),插入、編輯、刪除數(shù)據(jù)或復(fù)制和粘貼記錄到數(shù)據(jù)表形式的數(shù)據(jù)編輯器,Navicat將運(yùn)行相應(yīng)的命令(例如INSERT或UPDATE),免除寫復(fù)雜的SQL。廣泛的數(shù)據(jù)編輯工具令編輯工作更為方便,例如外鍵查找、set/enum選擇器和記錄篩選。