Skip to main content

Command Palette

Search for a command to run...

Latest articles

  1. 探討系統時間與應用程式的影響:網路協定、誤差、以及正確使用方法

    上一集我們討論了MySQL Timestamp 的精準度,提到了不同主機之間很有可能有時間差異,那這個時間差會有多大? 在電腦和許多微控器裡面都有一個 RTC 晶片,利用石英振盪器提供系統時間。這個RTC在一班桌上型電腦上就是裝在主機板上,和BIOS一起用水銀電池供電。所以如果那個電池如果沒電了,BIOS設定都會跑掉,時間也會被重設。 關於石英振盪器,這裡有一篇Analog Devices的文章解釋石英振盪器的原理以及誤差。 在 Linux 上,我們可以利用 hwclock獲取時間。但是這件事...

    Mar 2, 20231 min read
  2. MySQL的Timestamp準確度、快取應用的雷點

    MySQL是常用的關聯式資料庫管理系統,其中Timestamp類型是一種用來儲存日期和時間的資料類型。在定義Timestamp欄位時,如果不定義準確小數點 的話,預設只到秒,且會四捨五入。 比如以下的資料表定義,就明確定義了到小數點下6位也就是微秒精度。 CREATE TABLE `services` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `start_time` timestamp(6) NOT NULL DEFAULT CURR...

    Feb 25, 20232 min read
  3. 不要在 Production MySQL Server 上刪除資料表(< 8.0.23)

    背景 前陣子團隊裡在討論,有用不到的 Table 要刪掉,是否要用一個月一次深夜停機的時段。我們團隊裡資深的同事表示他記得會有整個 DB 的 Lock 。我就想,照官方文件,Online DDL 應該不影響其他操作啊,而且也是針對該資料表。那平常的時間就可以刪啦? 不過又多做了一些搜尋,發現果然薑還是老的辣。。。 看到了這篇文章: Why you simply don't drop a huge InnoDB table in production... DROP table 會怎樣? 那篇文...

    Sep 2, 20221 min read
炸蝦碎碎念