1. 程式人生 > >MySql 新增欄位內容由原欄位提供

MySql 新增欄位內容由原欄位提供

今天遇到一個問題,mysql庫表中資料儲存量比較大,導致對於時間的查詢比較慢。資料量100W左右,時間是字串格式,形式是 "yyyy-MM-dd HH:mm:ss"。需要對庫表結構進行改造,改造內容就是在原有庫表基礎上新增一個時間相關的欄位,而內容由原欄位提供。

在網上也查詢了一些資料,例如timestamp型別和datetime型別,哪種型別查詢起來效率高。最後決定使用timestamp型別。

下面是本文的重點,mysql資料庫新增欄位,內容來源於原欄位,只是對原欄位的形式進行改變:

update test_copy set create_long = (select STR_TO_DATE(created_time,'%Y-%m-%d %H:%i:%s'))

test_copy是我測試的表名;create_long是新增的欄位,型別是timestamp;create_time是庫表中原有的欄位,型別是varchar。

執行此語句的時候,可能需要一段時間,根據庫表中的資料量大小決定。