› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
faya
V2EX  ›  MySQL

mysql 插入数据时,是先检测再插入,还是插入时提示重复键判断已经存在?这两种方式哪种好点?另外如果重复插入自增 id 会增加,这个会占用空间吗?

  •  
  •   faya · Aug 10, 2018 via Android · 4514 views
    This topic created in 2979 days ago, the information mentioned may be changed or developed.
    3 replies  •  2018-08-11 01:03:16 +08:00
    wshcdr
        1
    wshcdr  
       Aug 10, 2018
    这个问题有点奇怪
    xud6
        2
    xud6  
       Aug 10, 2018
    先检测再插入,并行处理会有点难。
    ppyybb
        3
    ppyybb  
       Aug 11, 2018 via iPhone
    看业务,如果比较简单就 on duplicate,自增的 ID 如果怕溢出就选择用 bigint 做主键,(如果并发不高的话可以将预分配的下一个自增 id 重新设置回来的)

    如果业务复杂就没办法了,只能选择先检查后处理,这种情况可能遇到并发问题导致检查后其他线程又插入了,最好业务上做处理,利用 unique key 抛出的异常判断。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2800 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 03:42 · PVG 11:42 · LAX 20:42 · JFK 23:42
    ♥ Do have faith in what you're doing.