1
我打算使用Toxi方案存儲標記(如在Stackoverflow上的標記) 標記存儲在一個單獨的表中。標記和如何測試標記存在
create table tags
(
tagSeq int unsigned,
name varchar(255),
PRIMARY KEY (tagSeq),
UNIQUE INDEX (name)
);
在添加標籤的用例,多個併發線程會試圖檢查是否有特定標籤的存在;因此這將成爲爭論的焦點。如果標籤存在,線程只是拉出tagSeq,並在中間表中添加一行,並將其與被標記的項目鏈接起來。
我該如何設計這個如果存在使用tagSeq,如果不創建用例,使我有高併發性,同時保持數據完整性?例如,我應該使用什麼隔離級別?
我目前的解決方案是爲每個傳入線程執行INSERT。如果我得到一個UNIQUE KEY約束衝突,我只是讀回tagSeq。如果不是,我創建它。我在軌道上嗎?
我會使用一個存儲過程,處理1062錯誤:http://www.devshed.com/c/a/MySQL/Error-Handling/ – 2010-03-18 15:23:14