我使用 TopLink 作为我的 ORM 和 MySQL 作为数据库。
我将我的自动增量主键换成我的一张表的 GUID(好吧,不完全是:我实际上使用的是随机的 64 位整数,但这足以满足我的需要)。
无论如何,现在甚至不使用密钥的查询都需要更长的时间。
我能做些什么?
我使用 TopLink 作为我的 ORM 和 MySQL 作为数据库。
我将我的自动增量主键换成我的一张表的 GUID(好吧,不完全是:我实际上使用的是随机的 64 位整数,但这足以满足我的需要)。
无论如何,现在甚至不使用密钥的查询都需要更长的时间。
我能做些什么?
如果您在 MySQL 中使用 innodb 表,则所有行都由主键引用,因此如果您使用辅助键,性能将受到影响。
如果您的表由您查询的字段索引。密钥的内容不应有任何明显的性能影响。他们也许还有别的东西。
确保键列确实是 PRIMARY KEY,因此是聚集(物理)索引。
确保您有符合常见查询的索引。
随机整数?你意识到有可能击中相同的 pri 键吗?
我有一个代表创建日期的字段。我怎样才能强制我的表相应地成为索引?
create index Table_creationDate on Table(creationDate);