为了账号安全,请及时绑定邮箱和手机立即绑定

建表的时候索引为什么不直接加在number上面,而是加在start-time,end-time,create-time上

建表的时候索引为什么不直接加在number上面,而是加在start-time,end-time,create-time上

直接加在number上不是更方便吗,也会让update操作有行级锁.

正在回答

2 回答

MySQL的innodb存储引擎支持行级锁,innodb的行锁是通过给索引项加锁实现的,这就意味着只有通过索引条件检索数据时,innodb才使用行锁,否则使用表锁。
根据当前的数据更新语句(UPDATE user set name=‘11111’ where account=‘1’),该条件字段account并没有添加索引,所以导致数据表被锁。

2 回复 有任何疑惑可以回复我~

这节课里面没有说到创建数据库表,课程中的sql是存储过程,其中你说到相关start-time、end-time、create-time在这节课中出现的位置是在跟新数据库的商品的数量上,作用是检测当前时间是否是商品的抢购时间。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

建表的时候索引为什么不直接加在number上面,而是加在start-time,end-time,create-time上

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信