2012-04-14 48 views
3

我有一個表格,在唯一索引下定義了列。在將數據插入表中時,我目前沒有檢查是否存在匹配的行,而是讓MySQL處理它。在MySQL中插入唯一行的最便宜的方法是什麼?

這是首選的方法嗎?我的意思是,我可以在插入之前添加一個SELECT來檢查dupe行,但從性能角度來看,這似乎更加昂貴,因爲可能有5-10%的插入操作會觸發重複。

回答

2

是的,只是讓MySQL弄明白了。它已經知道下一個可能的價值是什麼,並會比你能更快地選擇它。

不僅你的select方法失敗,它還涉及到服務器的兩次往返而不是一次。更不用說只是讓服務器弄清楚它給它提供了更多的優化機會。

相關問題