2010-01-21 95 views
1

如何更新數據庫表字段中的序列化數據?MySQL更新序列化數據

我想存儲序列化數據以減少查詢次數,但不知道如何更新它們。

回答

3

您必須獲取序列化數據,unserialize()它,將其更改,然後再回到serialize(),並用新的序列化數據更新數據庫中的表格行。

這太慢/麻煩,這就是你不應該在數據庫中存儲序列化數據的原因。

+0

現在我明白了,但是您能否推薦我在我的應用程序中減少查詢的方式?它很快,是的,但想減少查詢。 – greegs 2010-01-21 02:14:57

+1

@greegs:不要依賴序列化的數據並設計好數據庫。 – 2010-01-21 02:35:48

1

一般來說,當然你希望存儲大量數據的地方,Alix是對的;嘗試將數據作爲行存儲在數據庫的表中。

作爲一個例子,這裏有人要求幫助儲存a huge slab of what looks like shopping cart data,這正是你需要避免做的事情。但是,如果你處理的是少量數據,那麼序列化是合適的,因爲簡單地讀一行來檢索序列化數據然後再寫回來可能不是一個巨大的資源負擔。

作爲一個例子,我正在研究一個酒店預訂系統,每個客戶可以添加地點,然後他們可以與不同的客戶關聯。爲了簡單起見,我使用序列化數據而不是行。

在這種情況下,我將一系列客戶端ID存儲到場地的行中。