我创建了一个表和索引如下
创建表 refresh_token ( user_id bigint, refresh_token 文本, access_token 文本, device_desc 文本, device_type 文本, expire_time 时间戳, org_id bigint, 主键 (user_id, refresh_token) ) 具有聚类顺序 (refresh_token ASC) 在 demodb.refresh_token (access_token) 上创建索引 i_access_token;
在我插入或删除数百万次数据后。我发现当我使用后续查询时无法返回任何数据。实际上,数据中有这一行。
当我通过 PRIMARY KEY 查询时
select * from refresh_token where user_id=405198 and refresh_token='E82B57D9D64BECDBD6B5602A72816BD19016323504F803116F66A32598E04298';
它返回数据:
select * from refresh_token where user_id=405198 and refresh_token='E82B57D9D64BECDBD6B5602A72816BD19016323504F803116F66A32598E04298'; 用户 ID | 刷新令牌 | 访问令牌 | device_desc | 设备类型 | 过期时间 | org_id ---------+---------------------------------------- --------------------------+------------------------ --------------------------------------------+------ --------+--------------+--------------+- ------------- 405198 | E82B57D9D64BECDBD6B5602A72816BD19016323504F803116F66A32598E04298 | E82B57D9D64BECDB16D4F3F9F81AC0EF7AF2C4B460CB0F33C9CEFA5846BA7BE1 | 空 | 空 | 2016-06-07 14:09:52+0800 | 481036337156
但是当我通过二级索引查询时,它返回null。
select * from refresh_token where access_token ='E82B57D9D64BECDB16D4F3F9F81AC0EF7AF2C4B460CB0F33C9CEFA5846BA7BE1'; 用户 ID | 刷新令牌 | 访问令牌 | device_desc | 设备类型 | 过期时间 | org_id ---------+---------------+--------------+--------- ----+-------------+-------------+--------
谢谢