2012-04-14 52 views
3

我有一个表格,在唯一索引下定义了列。在将数据插入表中时,我目前没有检查是否存在匹配的行,而是让MySQL处理它。在MySQL中插入唯一行的最便宜的方法是什么?

这是首选的方法吗?我的意思是,我可以在插入之前添加一个SELECT来检查dupe行,但从性能角度来看,这似乎更加昂贵,因为可能有5-10%的插入操作会触发重复。

回答

2

是的,只是让MySQL弄明白了。它已经知道下一个可能的价值是什么,并会比你能更快地选择它。

不仅你的select方法失败,它还涉及到服务器的两次往返而不是一次。更不用说只是让服务器弄清楚它给它提供了更多的优化机会。

相关问题