mysql unique index可以避免插入重复数据吗?

mumubangditu 2012-11-27 08:00:08
一个MYISAM的数据表,将近56W条数据,334MB。

现在我只是给name加了普通index,用下列语句判别是否重复插入

insert into table (name) 
SELECT [value]
FROM dual WHERE not exists
(SELECT value from table where value = [value])


然后根据mysql_insert_id再做下一步代码操作。

现在请教:如果把name改为unique index,在insert into时是否可以避免插入重复数据?
insert into table (name) 
value ([value])


(mysql_insert_id!='0'再做下一步代码操作)

如果可以,2者效率如何?执行速度,内存、cpu占有率……谢谢。
...全文
368 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mumubangditu 2012-11-28
  • 打赏
  • 举报
回复
引用 2 楼 rucypli 的回复:
用insert ingore into
insert ingore into 和 insert into ... ON DUPLICATE KEY UPDATE,哪个效率高?
Rotel-刘志东 2012-11-28
  • 打赏
  • 举报
回复
ingore效率高一些。
ACMAIN_CHM 2012-11-28
  • 打赏
  • 举报
回复
ingore 效率高。 但两个语句的功能是不等同的。所以要先确定功能需求。
mumubangditu 2012-11-28
  • 打赏
  • 举报
回复
明白了,感谢大家。
rucypli 2012-11-27
  • 打赏
  • 举报
回复
用insert ingore into
ACMAIN_CHM 2012-11-27
  • 打赏
  • 举报
回复
现在请教:如果把name改为unique index,在insert into时是否可以避免插入重复数据? 可以。

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧