如何理解主键的上端?

bq3bfh9z  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(296)

在第177页的书中,有一个关于“当主键顺序更差时”的提示
对于高并发性工作负载,按主键顺序插入实际上可以在innodb中创建争用点。主键的上端是一个热点。因为所有插入都发生在那里,所以并发插入可能会争夺下一个密钥锁。另一个热点是自动增量锁定机制;如果遇到问题,可以重新设计表或应用程序,或者配置innodb\u autoinc\u lock\u模式。如果您的服务器版本不支持innodb\u auto inc\u lock\u模式,您可以升级到innodb的较新版本,该版本对于这个特定的工作负载性能更好。
如何理解主键上端的概念?

jgzswidk

jgzswidk1#

这本书的意思是“表中使用的主键的当前最大值”。
意思是如果你一直按主键升序插入,那么你可能会影响性能,因为(在自动递增的情况下)“这个主键的下一个值”是必须自动生成和使用的,因为(在其他情况下)有一些实现因素会使它慢一点。
如果我有一个表,其中包含主键值为 1, 2, 3, 4 ,则在“上端”插入意味着插入主键值大于 4 . 显然在这个例子中,你没有太多的选择!

相关问题