@@ -36,19 +36,19 @@ namespace Midjourney.Base.Models
3636{
3737 /// <summary>
3838 /// 任务类,表示一个任务的基本信息。
39+ /// 索引说明:
40+ /// MySQL InnoDB 二级索引自动包含主键,显式加 Id 不影响
41+ /// PostgreSQL 二级索引不包含主键,排序分页索引必须包含 Id 以实现 Index Only Scan
3942 /// </summary>
4043 [ Serializable ]
44+ // ===== 纯过滤/查找索引 =====
4145 [ Index ( "i_UserId" , "UserId" ) ]
4246 [ Index ( "i_ClientIp" , "ClientIp" ) ]
4347 [ Index ( "i_InstanceId" , "InstanceId" ) ]
4448 [ Index ( "i_SubmitTime" , "SubmitTime" ) ]
4549 [ Index ( "i_Status" , "Status" ) ]
4650 [ Index ( "i_Action" , "Action" ) ]
4751 [ Index ( "i_ParentId" , "ParentId" ) ]
48- [ Index ( "i_SubmitTime_UserId" , "SubmitTime,UserId" ) ]
49- [ Index ( "i_SubmitTime_InstanceId" , "SubmitTime,InstanceId" ) ]
50- [ Index ( "i_SubmitTime_Status_UserId" , "SubmitTime,Status,UserId" ) ]
51- [ Index ( "i_SubmitTime_Status" , "SubmitTime,Status" ) ]
5252 [ Index ( "i_State" , "State" ) ]
5353 [ Index ( "i_Mode" , "Mode" ) ]
5454 [ Index ( "i_Nonce" , "Nonce" ) ]
@@ -58,6 +58,13 @@ namespace Midjourney.Base.Models
5858 [ Index ( "i_OfficialTaskId" , "OfficialTaskId" ) ]
5959 [ Index ( "i_Status_SubmitTime_Mode_Action" , "Status, SubmitTime, Mode, Action" ) ]
6060 [ Index ( "i_IsThirdParty" , "IsThirdParty" ) ]
61+ // ===== 排序分页索引(尾部追加 Id,兼容 MySQL 和 PostgreSQL)=====
62+ [ Index ( "i_SubmitTime_Id" , "SubmitTime,Id" ) ]
63+ [ Index ( "i_SubmitTime_Status_Id" , "SubmitTime,Status,Id" ) ]
64+ [ Index ( "i_SubmitTime_UserId_Id" , "SubmitTime,UserId,Id" ) ]
65+ [ Index ( "i_SubmitTime_InstanceId_Id" , "SubmitTime,InstanceId,Id" ) ]
66+ [ Index ( "i_SubmitTime_Status_UserId_Id" , "SubmitTime,Status,UserId,Id" ) ]
67+ [ Index ( "i_Status_SubmitTime_Mode_Action_Id" , "Status,SubmitTime,Mode,Action,Id" ) ]
6168 public class TaskInfo : DomainObject
6269 {
6370 /// <summary>
0 commit comments