※ 本文為 terievv 轉寄自 ptt.cc 更新時間: 2017-12-03 21:04:44
看板 Soft_Job
作者 標題 Re: [討論] 把資料全存成字串的好處是?
時間 Sun Nov 5 15:17:11 2017
假如是日期時間以字串保存
優點:
效率快一點點
一些SQL可以少寫一點
比較、Between...的where條件還是可以用
缺點:
一些日期類型的功能就不能用了
下面寫的Oracle測試:
Drop Table TABLE1;
Drop Table TABLE2;
CREATE TABLE TABLE1 ( DATE1 VARCHAR2(30 BYTE) );
CREATE TABLE TABLE2 ( DATE1 TIMESTAMP(6) ) ;
BEGIN
FOR v_int IN 1..10000 LOOP
INSERT INTO TABLE2 (DATE1) VALUES (TO_TIMESTAMP('2017-06-24
09:59:10.000000000', 'YYYY-MM-DD HH24:MI:SS.FF'));
INSERT INTO TABLE1 (DATE1) VALUES ( '2017/06/24 09:59:10.000000000' );
END LOOP;
END LOOP;
COMMIT;
END;
/
https://i.imgur.com/bY9d9tJ.png
至於要不要使用,就看取捨了~~~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 43.229.116.218
※ 文章代碼(AID): #1P_hhwTR (Soft_Job)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1509866234.A.75B.html
※ 編輯: shps951015 (14.217.202.133), 11/05/2017 15:21:44
--
推 : 應該是以數字型態保存日期吧,文字很可能會有/ or -之類的1F 11/05 20:20
→ : 髒東西
→ : 髒東西
→ : 我的話會轉成timestamp再存 要轉各種格式會更方便3F 11/05 21:34
→ : 存字串快那一咪咪帶來各種隱性的風險 完全不划算吧...4F 11/05 22:28
推 : 日期在不同 sql server 轉換會常出問題5F 11/06 07:45
推 : 甚至同 sql server 不同版本,預設也會改。所以日期轉字
→ : 串處理很常見
→ : DateTime 含時間,佔的空間沒比較小。若只需日期,字串
→ : 還比較不易出錯
→ : 並不是每種 sql server 都提供 Date 資料型態
推 : 甚至同 sql server 不同版本,預設也會改。所以日期轉字
→ : 串處理很常見
→ : DateTime 含時間,佔的空間沒比較小。若只需日期,字串
→ : 還比較不易出錯
→ : 並不是每種 sql server 都提供 Date 資料型態
推 : 存成13位 unixtime11F 11/06 10:06
推 : 以前小弟也蠻常用字串處理日期時間格式, 格式&長度決定好12F 11/07 08:55
→ : 就一直用了, 雖然覺得應該是用哪種資料庫就要用對應的
→ : datetime格式, 但有時懶得處理不同程式語言的datetime lib
→ : 所以就統一用時間字串格式了XD (不要學)
→ : 就一直用了, 雖然覺得應該是用哪種資料庫就要用對應的
→ : datetime格式, 但有時懶得處理不同程式語言的datetime lib
→ : 所以就統一用時間字串格式了XD (不要學)
--
※ 看板: terievv 文章推薦值: 0 目前人氣: 0 累積人氣: 107
回列表(←)
分享