我在Spring JdbcTokenStore上遇到了糟糕的性能,所以我调查了一下,发现了以下慢查询:
delete from oauth_access_token where token_id = ?
select token_id, authentication from oauth_access_token where token_id = ?
select token_id, token from oauth_access_token where authentication_id = ?
我检查过这些表,似乎所提供的脚本(例如,这里https://github.com/spring-projects/spring-security-oauth/blob/master/spring-security-oauth2/src/test/resources/schema.sql)甚至没有为oauth_access_token表定义主键。
如何优化性能?我可以安全地将token_id定义为outh_access_token的PK并为authentication_id列添加唯一索引吗?
由于 Giulio的
答案 0 :(得分:1)
我的Spring Boot应用程序也遇到类似的问题,在token_id
列上创建了唯一索引后,性能急剧提高了