有人告诉我,只运行插入并让插入失败比检查数据库条目是否存在然后在缺少时插入要快得多。
我还被告知大多数数据库都针对读取而不是写入进行了大量优化,所以快速检查不会比慢速插入更快吗?
这是一个预期碰撞次数的问题吗? (IE 仅当条目已存在的可能性很低时才插入速度更快。)它是否取决于我正在运行的数据库类型?就此而言,使用一种不断向我的错误日志中添加插入错误的方法是否是一种不好的做法?
谢谢。
最佳答案
如果插入由于索引违规而失败,它至多比检查记录是否存在慢一点点。 (两者都需要检查索引是否包含该值。)如果插入要成功,那么发出两个查询比发出一个查询要慢得多。
关于mysql - 插入一个新的数据库条目是否比先检查该条目是否存在更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8936922/