首頁  >  文章  >  後端開發  >  nothings gonna change my love 使用 MySQL Date/Time 類型

nothings gonna change my love 使用 MySQL Date/Time 類型

WBOY
WBOY原創
2016-07-29 08:37:301036瀏覽

由於曾經和他是同一個團隊的,所以對於其我很熟悉他那「潔癖」的做法,對於他的很多的觀點我也非常的讚同;但是有一件非常不理解的地方就是設計數據庫的時候總是會迴避使用 Date/Time 類型。他的做法是將時間相關的欄位設定為 INT(10) 類型,然後用 UNIX 時間戳來儲存。而我自己對這點做法非常的不贊同:
首先,是類型操作的不同,類似於 wiLdGoose 這樣做法的「時間計算」實質上是整形之間的操作(而且這個整形非常大,長度為10)。更有甚者,將時間戳設定為 VARCHAR(10) ,由此引發的效率問題不言而喻。
至於時間計算和整形計算甚至字串的計算的效率問題,這篇文章非常能說明問題。
其次,是邏輯方面的操作問題。這是使用時間類型的優勢,尤其是在需要高精度的項目上。例如需要“前一個星期的數據”和“獲得從數據庫建立以來每個星期一的數據”,這樣的操作如用 wiLdGoose 兄的做法複雜度可想而知。
最後,就是直覺不直觀的問題,可以理解的是我們的大腦是不會直接將這一大串的時間戳轉換成日期格式的。相較而言,直接使用時間類型明顯就直觀得多(它本身就是時間格式)。
而我目前的團隊也還是在使用類似的方法。本人對於類似技術細節也爭執了良久,但由於職位和決定權的問題,團隊還是無法採納本人的意見,甚為遺憾。
MySQL 定位為簡單快速的 DBM 自然能快速的駕馭,但另一方面卻很容易造成不會深入下去的局面。對於此,我們更應該注意每一項的資料庫設計細節,一項產品不斷添加新的功能到最後都是面向應用的。
最後,附 MySQL 官方的時間和日期函數的手冊。

以上就介紹了nothings gonna change my love 使用 MySQL Date/Time 類型,包括了nothings gonna change my love 方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn