我在 MySQL 文档中读到,可以启用不可见主键的生成(https://dev.mysql.com/doc/refman/8.0/en/create-table-gipks.html)。
我是数据库管理方面的新手,因此我想了解如果生成的不可见列未在此类查询的 WHERE 子句中使用,添加不可见主键如何可以提高 SELECT 查询的性能。如果它不能提高性能,那么启用此功能有什么好处呢?
我在 MySQL 文档中读到,可以启用不可见主键的生成(https://dev.mysql.com/doc/refman/8.0/en/create-table-gipks.html)。
我是数据库管理方面的新手,因此我想了解如果生成的不可见列未在此类查询的 WHERE 子句中使用,添加不可见主键如何可以提高 SELECT 查询的性能。如果它不能提高性能,那么启用此功能有什么好处呢?
不确定您在哪里发现 GIPK 可以提高性能。不过,它们在设置逻辑复制时很有用;要复制更新或删除操作,您必须能够唯一标识接收端要更新或删除的行。如果表没有主键,这是不可能的。
随后,此功能可以在为没有正确设计数据库架构的应用程序设置数据库集群时提供帮助,特别是如果它是您无法修改的第三方应用程序。额外的列将对应用程序保持不可见,并且不会影响其逻辑,同时允许您创建其数据库的副本以提高可用性或卸载只读工作负载。