大佬教程收集整理的这篇文章主要介绍了java-获取数据库中的表锁-面试问题,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的访谈问题之一,如果世界上有多个用户正在访问该应用程序,则该应用程序将使用具有主键作为自动增量字段的表.
问题:如何防止其他用户在执行时获得相同的主键?
我的回答是,我将获得桌子上的锁,并将使用户等待,直到该用户用主键释放为止.
但是问题
>如何以编程方式获取Table锁并实现它?
>如果每分钟有1000位用户访问该应用程序,如果您明确地锁定表的锁,那么该应用程序会变慢吗?您如何处理?
请提出以上问题的可能答案
解决方法:
只要您正确使用自动递增主键,就永远不会为两个用户提供相同的值.这是因为根据定义,主键包含唯一性约束.
要正确使用它,请先插入该行,然后再获取最后插入的行的ID.例如,在MySQL的文档中有一个whole page.在MysqL中,您可以使用LAST_INSERT_ID()或MysqL_insert_id()来获取最后插入的行的ID.
一种较差的方法是先插入行,然后在表中@L_329_18@mAX(id).
如果使用此方法,则不需要锁.使用表锁将减慢您的应用程序的速度,如果可能,应避免使用它.
以上是大佬教程为你收集整理的java-获取数据库中的表锁-面试问题全部内容,希望文章能够帮你解决java-获取数据库中的表锁-面试问题所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。