2013年11月21日

MySQL-关于事务的使用

摘要: 如果你一次执行单条查询语句, 则没有必要启用事务支持, 数据库默认支持SQL执行期间的读一致性, 如果你一次执行多条查询语句, 例如统计查询, 报表查询, 在这种场景下, 多条查询SQL必须保证整体的读一致性, 否则, 在前条SQL查询之后, 后条SQL查询之前, 数据被其他用户改变, 则该次整体的统计查询将会出现读数据不一致的状态, 此时, 应该启用事务支持 阅读全文

posted @ 2013-11-21 15:06 John_ABC 阅读(195) 评论(0) 推荐(0) 编辑

MySQL-关于并发下的mysql_insert_id()

摘要: 我们在写数据库程序的时候, 经常会需要获取某个表中的最大序号数, 或者刚插入的数据的ID值, 一般情况下获取刚插入的数据的id, 使用select max(id) from table 是可以的, 但在多线程, 高并发的情况下, 就不行了m 开始的时候我想的是使用mysql_insert_id(), 不知道会不会在并发的时候产生影响, 查询了下手册, 也是才发现, 是根据connection来的, 不同用户间不会产生影响, 所以也不用去想先把表锁起来, 插入取得ID值后再解锁, 直接正常插入, 然后取值即可, 同理在命令行下执行select last_insert_id();或者select 阅读全文

posted @ 2013-11-21 11:36 John_ABC 阅读(1610) 评论(0) 推荐(0) 编辑

导航