рдПрдбрдорд┐рди рдкреИрдирд▓ рдХреЗ рд▓рд┐рдП рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ: рдкрд╣рд▓реЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рд┐рд▓реНрдЯрд░реЛрдВ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░реЗрдВ
рдПрдбрдорд┐рди рдкреИрдирд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ: рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд╡реЗрд░реА рдкреИрдЯрд░реНрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрди рдлрд╝рд┐рд▓реНрдЯрд░реЛрдВ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░реЗрдВ рдЬрд┐рди рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдмрд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ тАФ status, assignee, date ranges, рдФрд░ text searchред

рдХреНрдпреЛрдВ рдПрдбрдорд┐рди рдкреИрдирд▓ рдлрд╝рд┐рд▓реНрдЯрд░ рдзреАрдореЗ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ
рдПрдбрдорд┐рди рдкреИрдирд▓ рдЕрдХреНрд╕рд░ рд╢реБрд░реБрдЖрдд рдореЗрдВ рддреЗрдЬрд╝ рд▓рдЧрддреЗ рд╣реИрдВред рдЖрдк рдПрдХ рд▓рд┐рд╕реНрдЯ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдПрдХ рд░рд┐рдХреЙрд░реНрдб рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЖрдЧреЗ рдмрдврд╝ рдЬрд╛рддреЗ рд╣реИрдВред рдЕрд╕рд▓ рдзреАрдорд╛рдкрди рддрдм рджрд┐рдЦрддрд╛ рд╣реИ рдЬрдм рд▓реЛрдЧ рдЙрд╕реА рддрд░рд╣ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рд╡реЗ рд░реЛрдЬрд╝ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ: "Only open tickets", "Assigned to Maya", "Created last week", "Order ID contains 1047"ред рд╣рд░ рдХреНрд▓рд┐рдХ рдкрд░ рдЗрдВрддрдЬрд╝рд╛рд░ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рд▓рд┐рд╕реНрдЯ рдЪрд┐рдкрдЪрд┐рдкреА рд▓рдЧрдиреЗ рд▓рдЧрддреА рд╣реИред
рдПрдХ рд╣реА рддрд╛рд▓рд┐рдХрд╛ рдПрдХ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рд▓рд┐рдП рддреЗрдЬрд╝ рд╣реЛ рд╕рдХрддреА рд╣реИ рдФрд░ рджреВрд╕рд░реЗ рдХреЗ рд▓рд┐рдП рджрд░реНрджрдирд╛рдХ рд░реВрдк рд╕реЗ рдзреАрдореАред рдПрдХ status рдлрд╝рд┐рд▓реНрдЯрд░ рд╢рд╛рдпрдж рдХреБрдЫ рд╣реА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЫреБрдП рдФрд░ рдЬрд▓реНрджреА рд▓реМрдЯ рдЖрдПред рдПрдХ "created between two dates" рдлрд╝рд┐рд▓реНрдЯрд░ рдмрдбрд╝рд╛ рд░реЗрдВрдЬ рдкрдврд╝рдиреЗ рдкрд░ рдордЬрдмреВрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдПрдХ assignee рдлрд╝рд┐рд▓реНрдЯрд░ рдЕрдХреЗрд▓реЗ рдареАрдХ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди status рдХреЗ рд╕рд╛рде рдФрд░ sorting рдЬреЛрдбрд╝рдиреЗ рдкрд░ рдзреАрдорд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИред
рдЗрдВрдбреЗрдХреНрд╕ рд╡рд╣ рд╢реЙрд░реНрдЯрдХрдЯ рд╣реИ рдЬрд┐рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓реА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдкреВрд░реЗ рдЯреЗрдмрд▓ рдкрдврд╝реЗ рдмрд┐рдирд╛ рдвреВрдБрдврдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрдВрдбреЗрдХреНрд╕ рдореБрдлреНрдд рдирд╣реАрдВ рд╣реЛрддреЗред рд╡реЗ рдЬрдЧрд╣ рд▓реЗрддреЗ рд╣реИрдВ, рдФрд░ inserts/updates рдХреЛ рдереЛрдбрд╝рд╛ рдзреАрдорд╛ рдХрд░ рджреЗрддреЗ рд╣реИрдВред рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЗрдВрдбреЗрдХреНрд╕ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреА рдЧрддрд┐ рдЧрд┐рд░ рд╕рдХрддреА рд╣реИ рдФрд░ рдлрд┐рд░ рднреА рдЕрд╕рд▓реА рдмреЙрдЯрд▓рдиреЗрдХ рд╕рд╣реА рдирд╣реАрдВ рд╣реЛрддрд╛ред
рд╕рдм рдХреБрдЫ рдЗрдВрдбреЗрдХреНрд╕ рдХрд░рдиреЗ рдХреА рдмрдЬрд╛рдп, рдЙрди рдлрд╝рд┐рд▓реНрдЯрд░реЛрдВ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдВ рдЬреЛ:
- рд▓рдЧрд╛рддрд╛рд░ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрддреЗ рд╣реИрдВ
- рдмрд╣реБрдд рд╕рд╛рд░реА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЫреВрддреЗ рд╣реИрдВ
- рд╕реНрдкрд╖реНрдЯ рдкреНрд░рддреАрдХреНрд╖рд╛ рдкреИрджрд╛ рдХрд░рддреЗ рд╣реИрдВ
- рд╕рд╛рдзрд╛рд░рдг, рдЕрдЪреНрдЫреА рддрд░рд╣ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЗрдВрдбреЗрдХреНрд╕ рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╕реБрдзрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдпрд╣ рд▓реЗрдЦ рдЬрд╛рдирдмреВрдЭрдХрд░ рд╕рдВрдХреБрдЪрд┐рдд рд╣реИред рдПрдбрдорд┐рди рд▓рд┐рд╕реНрдЯреНрд╕ рдореЗрдВ рдкрд╣рд▓рд╛ рдкреНрд░рджрд░реНрд╢рди-рд╕рдореНрдмрдВрдзреА рд╢рд┐рдХрд╛рдпрддреЗрдВ рдЕрдХреНрд╕рд░ рдЙрдиреНрд╣реАрдВ рдЪрд╛рд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдкреНрд░рдХрд╛рд░реЛрдВ рд╕реЗ рдЖрддреА рд╣реИрдВ: status, assignee, date ranges, рдФрд░ text fieldsред рдЬрдм рдЖрдк рд╕рдордЭ рдЬрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдпреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЕрдЧрд▓реЗ рдХрджрдо рд╕рд╛рдлрд╝ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ: рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд╡реЗрд░реА рдкреИрдЯрд░реНрди рджреЗрдЦреЗрдВ, рдЙрди рдкрд░ рдореИрдЪ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рдЗрдВрдбреЗрдХреНрд╕ рдЬреЛрдбрд╝реЗрдВ, рдФрд░ рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдиреЗ рд╕реНрд▓реЛ рдкрд╛рде рд╕реБрдзрд╛рд░рд╛ рдмрд┐рдирд╛ рдирдП рд╕рдорд╕реНрдпрд╛рдПрдБ рдмрдирд╛рдПред
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрдбрдорд┐рди рдХрд╛рдо рдХреЗ рдкреАрдЫреЗ рдХреЗ рдХреНрд╡реЗрд░реА рдкреИрдЯрд░реНрди
рдПрдбрдорд┐рди рдкреИрдирд▓ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдХрд┐рд╕реА рдПрдХ рдмрдбрд╝реЗ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рд╡рдЬрд╣ рд╕реЗ рдзреАрдореЗ рд╣реЛрддреЗ рд╣реИрдВред рд╡реЗ рдзреАрдореЗ рд╣реЛрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рд╕реНрдХреНрд░реАрди рджрд┐рди рднрд░ рдЙрдкрдпреЛрдЧ рд╣реЛрддреА рд╣реИрдВ, рдФрд░ рд╡реЗ рд╕реНрдХреНрд░реАрди рдмрд╛рд░-рдмрд╛рд░ рдХрдИ рдЫреЛрдЯреА рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рдЪрд▓рд╛рддреА рд╣реИрдВред
Ops рдЯреАрдореЗрдВ рдЖрдорддреМрд░ рдкрд░ рдХреБрдЫ рд╡рд░реНрдХ рдХреНрдпреВрдЬрд╝ рдореЗрдВ рд░рд╣рддреА рд╣реИрдВ: tickets, orders, users, approvals, internal requestsред рдЗрди рдкреЗрдЬреЛрдВ рдкрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рд░рд┐рдкреАрдЯ рд╣реЛрддреЗ рд╣реИрдВ:
- Status, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ (New, Open, Pending, Done)
- Assignee, рдХреНрдпреЛрдВрдХрд┐ рдЯреАрдореЛрдВ рдХреЛ "my items" рдФрд░ "unassigned" рдЪрд╛рд╣рд┐рдП
- Date ranges, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдИ рди рдХреЛрдИ рд╣рдореЗрд╢рд╛ рдкреВрдЫрддрд╛ рд╣реИ "what happened last week?"
- Search, рдпрд╛ рддреЛ рдХрд┐рд╕реА рдЬрд╛рдиреЗ-рдкрд╣рдЪрд╛рдиреЗ рдЖрдЗрдЯрдо рдкрд░ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП (order number, email) рдпрд╛ рдЯреЗрдХреНрд╕реНрдЯ (notes, previews) рд╕реНрдХреИрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдХрд╛рдо рдЗрд░рд╛рджреЗ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ:
- Browse newest рдПрдХ scanning рдкреИрдЯрд░реНрди рд╣реИред рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рд╣реЛрддрд╛ рд╣реИ "рд╕рдмрд╕реЗ рдирдП рдЖрдЗрдЯрдо рджрд┐рдЦрд╛рдУ, рд╢рд╛рдпрдж рдХрд┐рд╕реА status рдХреЗ рд▓рд┐рдП рд╕реАрдорд┐рдд, created time рдХреЗ рдЕрдиреБрд╕рд╛рд░ sort рдХрд░реЗрдВ" рдФрд░ рдпрд╣ paginated рд╣реЛрддрд╛ рд╣реИред
- Find a specific item рдПрдХ lookup рдкреИрдЯрд░реНрди рд╣реИред рдПрдбрдорд┐рди рдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ ID, email, ticket number, рдпрд╛ reference рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рд╡рд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд╕реАрдзреЗ рдереЛрдбрд╝реА рд╕реА рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реИред
рдПрдбрдорд┐рди рдкреИрдирд▓ рдЕрдХреНрд╕рд░ рдлрд╝рд┐рд▓реНрдЯрд░ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ: "Open + Unassigned", "Pending + Assigned to me", рдпрд╛ "Completed in the last 30 days"ред рдЗрдВрдбреЗрдХреНрд╕ рддрдм рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рд╡реЗ рдЙрди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд╡реЗрд░реА рд╢реЗрдкреНрд╕ рд╕реЗ рдорд┐рд▓рддреЗ рд╣реИрдВ, рди рдХрд┐ рдХреЗрд╡рд▓ рдХреЙрд▓рдо рдХреА рд╕реВрдЪреА рд╕реЗред
рдпрджрд┐ рдЖрдк AppMaster рдореЗрдВ рдПрдбрдорд┐рди рдЯреВрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдпреЗ рдкреИрдЯрд░реНрди рдЕрдХреНрд╕рд░ рд╕рдмрд╕реЗ-рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд▓рд┐рд╕реНрдЯ рд╕реНрдХреНрд░реАрди рдФрд░ рдЙрдирдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдлрд╝рд┐рд▓реНрдЯрд░ рджреЗрдЦрдХрд░ рд╣реА рджрд┐рдЦ рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рдЙрд╕ рдЪреАрдЬрд╝ рдкрд░ рдЗрдВрдбреЗрдХреНрд╕ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреИрдирд┐рдХ рдХрд╛рдо рдЪрд▓рд╛рддреА рд╣реИ, рди рдХрд┐ рд╕рд┐рд░реНрдлрд╝ рдХрд╛рдЧрдЬрд╝ рдкрд░ рдЕрдЪреНрдЫрд╛ рджрд┐рдЦрдиреЗ рд╡рд╛рд▓реА рдЪреАрдЬрд╝ред
рдкрд╣рд▓реЗ рдХреНрдпрд╛ рдЗрдВрдбреЗрдХреНрд╕ рдХрд░реЗрдВ рдпрд╣ рдХреИрд╕реЗ рдЪреБрдиреЗрдВ
рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ рдХреЛ рдЯреНрд░рд┐рдпрд╛рдЬ рдХреА рддрд░рд╣ рдЯреНрд░реАрдЯ рдХрд░реЗрдВред рд╣рд░ рдЙрд╕ рдХреЙрд▓рдо рдХреЛ рдЗрдВрдбреЗрдХреНрд╕ рдХрд░рдиреЗ рд╕реЗ рд╢реБрд░реВ рди рдХрд░реЗрдВ рдЬреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдбреНрд░реЙрдкрдбрд╛рдЙрди рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рдЙрди рдХреБрдЫ рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ рдЬреЛ рд▓рдЧрд╛рддрд╛рд░ рдЪрд▓рддреА рд╣реИрдВ рдФрд░ рд▓реЛрдЧреЛрдВ рдХреЛ рд╕рдмрд╕реЗ рдЬреНрдпрд╛рджрд╛ рдкрд░реЗрд╢рд╛рди рдХрд░рддреА рд╣реИрдВред
рд╡реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдЦреЛрдЬреЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд▓реЛрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддреЗ рд╣реИрдВ
рдРрд╕рд╛ рдлрд╝рд┐рд▓реНрдЯрд░ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рдмреЗрдХрд╛рд░ рд╣реИ рдЬреЛ рдХреЛрдИ рдЫреБрдЖ рддрдХ рдирд╣реАрдВред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реЙрдЯ рдкрд╛рдереНрд╕ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рдорд┐рд▓рд╛рдПрдБ:
- UI analytics: рдХреМрди рд╕реЗ рд╕реНрдХреНрд░реАрди рд╕рдмрд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рджреЗрдЦреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдХреМрди рд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рд╕рдмрд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рдХреНрд▓рд┐рдХ рд╣реЛрддреЗ рд╣реИрдВ
- Database рдпрд╛ API logs: рд╕рдмрд╕реЗ рдмрд╛рд░-рдмрд╛рд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рдФрд░ рд╕рдмрд╕реЗ рдзреАрдореА рдХреБрдЫ рдкреНрд░рддрд┐рд╢рдд
- рдЖрдВрддрд░рд┐рдХ рдлреАрдбрдмреИрдХ: "search is slow" рдЕрдХреНрд╕рд░ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдХреНрд░реАрди рдХреА рддрд░рдл рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИ
- рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд▓реИрдВрдбрд┐рдВрдЧ рд▓рд┐рд╕реНрдЯ: рдЬрдм рдПрдбрдорд┐рди рдкреИрдирд▓ рдЦреБрд▓рддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рд░рди рд╣реЛрддрд╛ рд╣реИ
рдХрдИ рдЯреАрдореЛрдВ рдореЗрдВ рд╡рд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рджреГрд╢реНрдп рдХреБрдЫ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдЬреИрд╕реЗ "Open tickets" рдпрд╛ "New orders"ред рдпрд╣ рд╣рд░ рдмрд╛рд░ рдЪрд▓рддрд╛ рд╣реИ рдЬрдм рдХреЛрдИ рд░рд┐рдлреНрд░реЗрд╢ рдХрд░рддрд╛ рд╣реИ, рдЯреИрдм рдмрджрд▓рддрд╛ рд╣реИ, рдпрд╛ рд░рд┐рдкреНрд▓рд╛рдИ рдХреЗ рдмрд╛рдж рд╡рд╛рдкрд╕ рдЖрддрд╛ рд╣реИред
рдлрд╝реАрд▓реНрдб рдирд╛рдореЛрдВ рдХреЗ рдмрдЬрд╛рдп рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХреЛ рд╢реЗрдк рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдореВрд╣рд┐рдд рдХрд░реЗрдВ
рдЗрдВрдбреЗрдХреНрд╕ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЕрдкрдиреА рд╕рд╛рдорд╛рдиреНрдп рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рдХреЛ рдЙрдирдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдореВрд╣рд┐рдд рдХрд░реЗрдВред рдЕрдзрд┐рдХрддрд░ рдПрдбрдорд┐рди рд▓рд┐рд╕реНрдЯ рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рдХреБрдЫ рдмрдХреЗрдЯ рдореЗрдВ рдЖрддреА рд╣реИрдВ:
- Equality filters:
status = 'open',assignee_id = 42 - Range filters:
created_atbetween two dates - Sorting and pagination:
ORDER BY created_at DESCрдФрд░ рдкреЗрдЬ 2 рд▓рд╛рдирд╛ - Text lookups: exact match (order number), prefix match (email starts with), рдпрд╛ contains search
рд╣рд░ рдЯреЙрдк рд╕реНрдХреНрд░реАрди рдХреЗ рд▓рд┐рдП WHERE, ORDER BY, рдФрд░ pagination рд╕рд╣рд┐рдд рд╢реЗрдк рд▓рд┐рдЦреЗрдВред рджреЛ рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рдЬреЛ UI рдореЗрдВ рд╕рдорд╛рди рджрд┐рдЦрддреА рд╣реИрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдмрд╣реБрдд рдЕрд▓рдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░ рд╕рдХрддреА рд╣реИрдВред
рдПрдХ рдЫреЛрдЯрд╛ рдкрд╣рд▓рд╛ рдмреИрдЪ рдЪреБрдиреЗрдВ
рдПрдХ рдкреНрд░рд╛рдердорд┐рдХ рд▓рдХреНрд╖реНрдп рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ: рд╡рд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд▓рд┐рд╕реНрдЯ рдХреНрд╡реЗрд░реА рдЬреЛ рдкрд╣рд▓реЗ рд▓реЛрдб рд╣реЛрддреА рд╣реИред рдлрд┐рд░ 2 рдпрд╛ 3 рдФрд░ high-frequency рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рдЪреБрдиреЗрдВред рдЖрдорддреМрд░ рдкрд░ рдпрд╣реАрдВ рд╕реЗ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдЕрдВрддрд░ рдЖрддрд╛ рд╣реИ рдмрд┐рдирд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЗрдВрдбреЗрдХреНрд╕ рдореНрдпреВрдЬрд╝рд┐рдпрдо рдмрдирд╛рдиреЗ рдХреЗред
рдЙрджрд╛рд╣рд░рдг: рдПрдХ рд╕рдкреЛрд░реНрдЯ рдЯреАрдо Tickets рд▓рд┐рд╕реНрдЯ рдЦреЛрд▓рддреА рд╣реИ рдЬреЛ status = 'open' рд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░реНрдб рд╣реИ, рд╕рдмрд╕реЗ рдирдП рдЕрдиреБрд╕рд╛рд░ рд╕реЙрд░реНрдЯ рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ assignee рдФрд░ date range рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдкрд╣рд▓реЗ рдЙрд╕реА рд╕рдВрдпреЛрдЬрди рдХреЛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░реЗрдВред рдПрдХ рдмрд╛рд░ рд╡рд╣ рддреЗрдЬрд╝ рд╣реЛ рдЬрд╛рдП, рдЕрдЧрд▓рд╛ рд╕реНрдХреНрд░реАрди рдЙрдкрдпреЛрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЪреБрдиреЗрдВред
Status рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЛ рдмрд┐рдирд╛ рдЬрд╝рд░реВрд░рдд рдЬреНрдпрд╛рджрд╛ рдХрд┐рдП рдЗрдВрдбреЗрдХреНрд╕ рдХрд░рдирд╛
Status рдЙрди рдкрд╣рд▓реЗ рдлрд╝рд┐рд▓реНрдЯрд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬреЛ рдЕрдХреНрд╕рд░ рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕реЗ рдРрд╕реЗ рддрд░рд╣ рдЗрдВрдбреЗрдХреНрд╕ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдЬреЛ рдорджрдж рди рднреА рдХрд░реЗред
рдЕрдзрд┐рдХрд╛рдВрд╢ status рдлреАрд▓реНрдбреНрд╕ low-cardinality рд╣реЛрддреЗ рд╣реИрдВ: рд╕рд┐рд░реНрдл рдХреБрдЫ рдорд╛рди (open, pending, closed)ред рдЗрдВрдбреЗрдХреНрд╕ рддрдм рд╕рдмрд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдЬрдм рдпрд╣ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдЯреЗрдмрд▓ рдХреЗ рдПрдХ рдЫреЛрдЯреЗ рд╣рд┐рд╕реНрд╕реЗ рддрдХ рд╕реАрдорд┐рдд рдХрд░ рджреЗред рдпрджрд┐ 80% рд╕реЗ 95% рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдПрдХ рд╣реА status рд╕рд╛рдЭрд╛ рдХрд░рддреА рд╣реИрдВ, рддреЛ рд╕рд┐рд░реНрдлрд╝ status рдкрд░ рдЗрдВрдбреЗрдХреНрд╕ рдЕрдХреНрд╕рд░ рдЬреНрдпрд╛рджрд╛ рдлрд░реНрдХ рдирд╣реАрдВ рдХрд░рддрд╛ред рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдлрд┐рд░ рднреА рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдХреА рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдкрдврд╝рдиреА рдкрдбрд╝ рд╕рдХрддреА рд╣реИрдВ, рдФрд░ рдЗрдВрдбреЗрдХреНрд╕ рдУрд╡рд░рд╣реЗрдб рдЬреЛрдбрд╝рддрд╛ рд╣реИред
рдЖрдк рдЖрдорддреМрд░ рдкрд░ рддрдм рд▓рд╛рдн рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реИрдВ рдЬрдм:
- рдХреЛрдИ status рджреБрд░реНрд▓рдн рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, escalated)
- status рдХрд┐рд╕реА рджреВрд╕рд░реЗ рдХрдВрдбреАрд╢рди рдХреЗ рд╕рд╛рде рдорд┐рд▓рдиреЗ рдкрд░ рдкрд░рд┐рдгрд╛рдо рд╕реЗрдЯ рдЫреЛрдЯрд╛ рдХрд░ рджреЗрддрд╛ рд╣реИ
- status + sorting рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд▓рд┐рд╕реНрдЯ рд╡реНрдпреВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ
рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкреИрдЯрд░реНрди рд╣реИ "рдореБрдЭреЗ open рдЖрдЗрдЯрдо рджрд┐рдЦрд╛рдУ, newest рдкрд╣рд▓реЗ." рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдлрд╝рд┐рд▓реНрдЯрд░ рдФрд░ рд╕реЙрд░реНрдЯ рджреЛрдиреЛрдВ рдХреЛ рдорд┐рд▓рд╛рдХрд░ рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рдирд╛ рдЕрдХреНрд╕рд░ рд╕рд┐рд░реНрдлрд╝ status рдЕрдХреЗрд▓реЗ рдЗрдВрдбреЗрдХреНрд╕ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИред
рд╡реЗ рд╕рдВрдпреЛрдЬрди рдЬреЛ рдкрд╣рд▓реА рдмрд╛рд░ рд▓рд╛рдн рджреЗрддреЗ рд╣реИрдВ:
status + updated_at(status рд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░, рд╣рд╛рд▓рд┐рдпрд╛ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реЙрд░реНрдЯ)status + assignee_id(рд╡рд░реНрдХ рдХреНрдпреВ рд╡реНрдпреВрдЬрд╝)status + updated_at + assignee_id(рд╕рд┐рд░реНрдлрд╝ рддрднреА рдЬрдм рд╡рд╣реА рд╡реНрдпреВ рднрд╛рд░реА рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реЛ)
Partial indexes рддрдм рдПрдХ рдЕрдЪреНрдЫрд╛ рдордзреНрдп рдорд╛рд░реНрдЧ рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рдПрдХ status рдмрд╣реБрдордд рдореЗрдВ рд╣реЛред рдпрджрд┐ "open" рдореБрдЦреНрдп рд╡реНрдпреВ рд╣реИ, рддреЛ рдХреЗрд╡рд▓ open рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЗрдВрдбреЗрдХреНрд╕ рдХрд░реЗрдВред рдЗрдВрдбреЗрдХреНрд╕ рдЫреЛрдЯрд╛ рд░рд╣рддрд╛ рд╣реИ, рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреА рд▓рд╛рдЧрдд рдХрдо рд░рд╣рддреА рд╣реИуАВ
-- PostgreSQL example: index only open rows, optimized for newest-first lists
CREATE INDEX CONCURRENTLY tickets_open_updated_idx
ON tickets (updated_at DESC)
WHERE status = 'open';
рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдкрд░реАрдХреНрд╖рдг: рдзреАрдореА рдПрдбрдорд┐рди рдХреНрд╡реЗрд░реА рдХреЛ status рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рд╕рд╛рде рдФрд░ рдмрд┐рдирд╛ рдЪрд▓рд╛рдХрд░ рджреЗрдЦреЗрдВред рдпрджрд┐ рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдзреАрдорд╛ рд╣реИ, рддреЛ рдХреЗрд╡рд▓ status-рдСрдирд▓реА рдЗрдВрдбреЗрдХреНрд╕ рдЗрд╕реЗ рдирд╣реАрдВ рдмрдЪрд╛рдПрдЧрд╛ред рд╕реЙрд░реНрдЯ рдФрд░ рджреВрд╕рд░рд╛ рд╡рд╣ рдлрд╝рд┐рд▓реНрдЯрд░ рдЬрд┐рдирд╕реЗ рд╕реВрдЪреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореЗрдВ рдЫреЛрдЯреА рд╣реЛрддреА рд╣реИ, рдЙрди рдкрд░ рдлреЛрдХрд╕ рдХрд░реЗрдВред
Assignee рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ: equality рдЗрдВрдбреЗрдХреНрд╕ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрдпреЛрдЬрди
рдЕрдзрд┐рдХрддрд░ рдПрдбрдорд┐рди рдкреИрдирд▓реЛрдВ рдореЗрдВ assignee рд░рд┐рдХреЙрд░реНрдб рдкрд░ рдПрдХ user ID рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдЯреЛрд░ рд╣реЛрддрд╛ рд╣реИ: рдПрдХ foreign key рдЬреИрд╕реЗ assignee_idред рдпрд╣ рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ equality рдлрд╝рд┐рд▓реНрдЯрд░ рд╣реИ, рдФрд░ рд╕рд╛рдзрд╛рд░рдг рдЗрдВрдбреЗрдХреНрд╕ рд╕реЗ рдЕрдХреНрд╕рд░ рддреБрд░рдВрдд рд▓рд╛рдн рдорд┐рд▓рддрд╛ рд╣реИред
Assignee рдЕрдХреНрд╕рд░ рдЕрдиреНрдп рдлрд╝рд┐рд▓реНрдЯрд░реЛрдВ рдХреЗ рд╕рд╛рде рднреА рджрд┐рдЦрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рд╕реЗ рдорд┐рд▓рддрд╛ рд╣реИред рдПрдХ рд╕рдкреЛрд░реНрдЯ рд▓реАрдб "Assigned to Alex" рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ "Open" рддрдХ рд╕реАрдорд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рджреЗрдЦ рд╕рдХреЗ рдХреНрдпрд╛ рдЕрднреА рднреА рдзреНрдпрд╛рди рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдпрд╣ рд╡реНрдпреВ рдзреАрдорд╛ рд╣реИ, рддреЛ рдЕрдХреНрд╕рд░ single-column рд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рдЪрд╛рд╣рд┐рдП рд╣реЛрддрд╛ рд╣реИред
рдПрдХ рдЕрдЪреНрдЫрд╛ рдЖрд░рдореНрднрд┐рдХ рдХрджрдо рдПрдХ рдХрдВрдкреЛрдЬрд┐рдЯ рдЗрдВрдбреЗрдХреНрд╕ рд╣реИ рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЙрдореНрдмреЛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ:
(assignee_id, status)"my open items" рдХреЗ рд▓рд┐рдП(assignee_id, status, updated_at)рдпрджрд┐ рд▓рд┐рд╕реНрдЯ рд╣рд╛рд▓ рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реЙрд░реНрдЯ рднреА рд╣реЛрддреА рд╣реИ
рдХрдВрдкреЛрдЬрд┐рдЯ рдЗрдВрдбреЗрдХреНрд╕ рдореЗрдВ рдХреНрд░рдо рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред equality рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЛ рдкрд╣рд▓реЗ рд░рдЦреЗрдВ (рдЕрдХреНрд╕рд░ assignee_id, рдлрд┐рд░ status), рдФрд░ рд╕реЙрд░реНрдЯ рдпрд╛ range рдХреЙрд▓рдо рдХреЛ рдЖрдЦрд╝рд┐рд░ рдореЗрдВ рд░рдЦреЗрдВ (updated_at)ред рдЗрд╕рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрд╕реЗ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░ рдкрд╛рддрд╛ рд╣реИред
Unassigned рдЖрдЗрдЯрдо рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЧреЛрдЯрдЪрд╛ рд╣реИрдВред рдХрдИ рд╕рд┐рд╕реНрдЯрдо "unassigned" рдХреЛ NULL рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВ, рдФрд░ рдореИрдиреЗрдЬрд░реНрд╕ рдЕрдХреНрд╕рд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рддреЗ рд╣реИрдВред рдЖрдкрдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдХреНрд╡реЗрд░реА рд╢реЗрдк рдХреЗ рдЖрдзрд╛рд░ рдкрд░, NULL рдорд╛рди рдкреНрд▓рд╛рди рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ рдЬреЛ assigned рдЖрдЗрдЯрдо рдХреЗ рд▓рд┐рдП рдмрдврд╝рд┐рдпрд╛ рдХрд╛рдо рдХрд░реЗ, unassigned рдХреЗ рд▓рд┐рдП рдмреЗрдХрд╛рд░ рд▓рдЧрдиреЗ рд▓рдЧреЗред
рдпрджрд┐ unassigned рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рддреЛ рдПрдХ рд╕реНрдкрд╖реНрдЯ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЪреБрдиреЗрдВ рдФрд░ рдЯреЗрд╕реНрдЯ рдХрд░реЗрдВ:
assignee_idnullable рд░рдЦреЗрдВ, рд▓реЗрдХрд┐рди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐WHERE assignee_id IS NULLрд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЯреЗрд╕реНрдЯ рдФрд░ рдЗрдВрдбреЗрдХреНрд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ рдЬрдм рдЬрд╝рд░реВрд░рдд рд╣реЛред- рдПрдХ рд╕рдорд░реНрдкрд┐рдд рдорд╛рди (рдЬреИрд╕реЗ рдЦрд╛рд╕ "Unassigned" user) рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдХреЗрд╡рд▓ рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЗ рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдореЗрдВ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реЛред
- рдЕрдЧрд░ рдЖрдкрдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ support рд╣реИ рддреЛ unassigned рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП partial index рдЬреЛрдбрд╝реЗрдВред
рдпрджрд┐ рдЖрдк AppMaster рдореЗрдВ рдПрдбрдорд┐рди рдкреИрдирд▓ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреА рдЯреАрдо рд╕рдмрд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рдХреМрди рд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдФрд░ рд╕реЙрд░реНрдЯреНрд╕ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ, рдЙрдиреНрд╣реЗрдВ рд▓реЙрдЧ рдХрд░реЗрдВ рдФрд░ рдЙрди рдкреИрдЯрд░реНрди рдХреЛ рдЫреЛрдЯреЗ, рдЪреБрдиреЗ рд╣реБрдП рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рд╕рд╛рде рдорд┐рд░рд░ рдХрд░реЗрдВ рдмрдЬрд╛рдп рд╣рд░ рдЙрдкрд▓рдмреНрдз рдлрд╝реАрд▓реНрдб рдХреЛ рдЗрдВрдбреЗрдХреНрд╕ рдХрд░рдиреЗ рдХреЗред
рддрд┐рдерд┐-рд░реЗрдВрдЬ: рдХреИрд╕реЗ рд▓реЛрдЧ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рддреЗ рд╣реИрдВ рдЙрд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЗрдВрдбреЗрдХреНрд╕
рддрд┐рдерд┐ рдлрд╝рд┐рд▓реНрдЯрд░ рдЕрдХреНрд╕рд░ "last 7 days" рдпрд╛ "last 30 days" рдЬреИрд╕реЗ рд╢реЙрд░реНрдЯрдХрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдФрд░ рдПрдХ рдХрд╕реНрдЯрдо рдкрд┐рдХрд░ рдХреЗ рд╕рд╛рде рджрд┐рдЦрддреЗ рд╣реИрдВред рдпреЗ рд╕рд░рд▓ рджрд┐рдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрдбрд╝реЗ рдЯреЗрдмрд▓реНрд╕ рдкрд░ рдпреЗ рдмрд╣реБрдд рдЕрд▓рдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛рдо рдЯреНрд░рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд╣рд▓реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрдВ рдХрд┐ рд▓реЛрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕ timestamp рдХреЙрд▓рдо рдХрд╛ рдорддрд▓рдм рд░рдЦрддреЗ рд╣реИрдВред рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
created_at"new items" рд╡реНрдпреВрдЬрд╝ рдХреЗ рд▓рд┐рдПupdated_at"recently changed" рд╡реНрдпреВрдЬрд╝ рдХреЗ рд▓рд┐рдП
рдЙрд╕ рдХреЙрд▓рдо рдкрд░ рд╕рд╛рдорд╛рдиреНрдп btree рдЗрдВрдбреЗрдХреНрд╕ рд░рдЦреЗрдВред рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рд╣рд░ "last 30 days" рдХреНрд▓рд┐рдХ рдлреБрд▓ рдЯреЗрдмрд▓ рд╕реНрдХреИрди рдмрди рд╕рдХрддрд╛ рд╣реИред
Preset ranges рдЕрдХреНрд╕рд░ рджрд┐рдЦрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ created_at \u003e= now() - interval '30 days'ред рдпрд╣ range рдХрдВрдбреАрд╢рди рд╣реИ, рдФрд░ created_at рдкрд░ рдЗрдВрдбреЗрдХреНрд╕ рдЗрд╕реЗ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЕрдЧрд░ UI newest-first рд╕реЙрд░реНрдЯ рднреА рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╕реЙрд░реНрдЯ рджрд┐рд╢рд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП PostgreSQL рдореЗрдВ created_at DESC) рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдЗрдВрдбреЗрдХреНрд╕ рднрд╛рд░реА рдЙрдкрдпреЛрдЧ рд╡рд╛рд▓реЗ рд▓рд┐рд╕реНрдЯреНрд╕ рдкрд░ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдЬрдм date ranges рджреВрд╕рд░реЗ рдлрд╝рд┐рд▓реНрдЯрд░реЛрдВ (status, assignee) рдХреЗ рд╕рд╛рде рдорд┐рд▓рддреЗ рд╣реИрдВ, рддреЛ рд╕реЗрд▓реЗрдХреНрдЯрд┐рд╡ рд░рд╣реЗрдВред рдХрдВрдкреЛрдЬрд┐рдЯ рдЗрдВрдбреЗрдХреНрд╕ рддрдм рд╢рд╛рдирджрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рдХреЙрдореНрдмреЛ рд╕рд╛рдорд╛рдиреНрдп рд╣реЛред рдЕрдиреНрдпрдерд╛ рд╡реЗ рд▓рд┐рдЦрдиреЗ рдХреА рд▓рд╛рдЧрдд рдмрдврд╝рд╛рддреЗ рд╣реИрдВ рдмрд┐рдирд╛ рдкреНрд░рддрд┐рдлрд▓ рджрд┐рдПред
рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдирд┐рдпрдо:
- рдЕрдЧрд░ рдЬрд╝реНрдпрд╛рджрд╛рддрд░ рд╡реНрдпреВрдЬрд╝ рдкрд╣рд▓реЗ status рд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ date рд╕реЗ, рддреЛ
(status, created_at)рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред - рдЕрдЧрд░ status рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ рд▓реЗрдХрд┐рди date рд╣рдореЗрд╢рд╛ рдореМрдЬреВрдж рд╣реИ, рддреЛ рд╕рд░рд▓
created_atрдЗрдВрдбреЗрдХреНрд╕ рд░рдЦреЗрдВ рдФрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХрдВрдкреЛрдЬрд┐рдЯ рд╕реЗ рдмрдЪреЗрдВред - рд╣рд░ рд╕рдВрдпреЛрдЬрди рди рдмрдирд╛рдПрдБред рд╣рд░ рдирдпрд╛ рдЗрдВрдбреЗрдХреНрд╕ рд╕реНрдЯреЛрд░реЗрдЬ рдмрдврд╝рд╛рддрд╛ рд╣реИ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреЛ рдзреАрдорд╛ рдХрд░рддрд╛ рд╣реИред
Timezone рдФрд░ рдмрд╛рдЙрдВрдбреНрд░реАрдЬрд╝ рдЕрдХреНрд╕рд░ "missing records" рдмрдЧ рдХрд╛ рдХрд╛рд░рдг рд╣реЛрддреЗ рд╣реИрдВред рдЕрдЧрд░ рдпреВрдЬрд╝рд░ dates (рд╕рдордп рдирд╣реАрдВ) рдЪреБрдирддреЗ рд╣реИрдВ, рддреЛ рдЕрдВрдд рддрд┐рдерд┐ рдХреЛ рдХреИрд╕реЗ рдЗрдВрдЯрд░рдкреНрд░реЗрдЯ рдХрд░реЗрдВ рдпрд╣ рддрдп рдХрд░реЗрдВред рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдкреИрдЯрд░реНрди рд╣реИ inclusive start рдФрд░ exclusive end: created_at \u003e= start рдФрд░ created_at \u003c end_next_dayред timestamps рдХреЛ UTC рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░реЗрдВ рдФрд░ рдпреВрдЬрд╝рд░ рдЗрдирдкреБрдЯ рдХреЛ UTC рдореЗрдВ рдмрджрд▓рдХрд░ рдХреНрд╡реЗрд░реА рдХрд░реЗрдВред
рдЙрджрд╛рд╣рд░рдг: рдПрдХ ops рдПрдбрдорд┐рди Jan 10 рд╕реЗ Jan 12 рдЪреБрдирддрд╛ рд╣реИ рдФрд░ рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реИ рдХрд┐ Jan 12 рдХреЗ рд╕рд╛рд░реЗ рдЖрдЗрдЯрдо рджрд┐рдЦреЗрдВрдЧреЗред рдЕрдЧрд░ рдЖрдкрдХреА рдХреНрд╡реЗрд░реА \u003c= '2026-01-12 00:00' рдЬреИрд╕рд╛ рдкреНрд░рдпреЛрдЧ рдХрд░рддреА рд╣реИ, рддреЛ рдЖрдк Jan 12 рдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЖрдЗрдЯрдо рдЦреЛ рджреЗрдВрдЧреЗред рдЗрдВрдбреЗрдХреНрд╕ рдареАрдХ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдмрд╛рдЙрдВрдбреНрд░реА рд▓реЙрдЬрд┐рдХ рдЧрд▓рдд рд╣реЛрдЧрд╛ред
рдЯреЗрдХреНрд╕реНрдЯ рдлреАрд▓реНрдбреНрд╕: exact search рдмрдирд╛рдо contains search
рдЯреЗрдХреНрд╕реНрдЯ рд╕рд░реНрдЪ рд╡рд╣рд╛рдВ рд╣реИ рдЬрд╣рд╛рдБ рдХрдИ рдПрдбрдорд┐рди рдкреИрдирд▓ рдзреАрдореЗ рдкрдбрд╝ рдЬрд╛рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд▓реЛрдЧ рдПрдХ рдмреЙрдХреНрд╕ рд╕реЗ рд╕рдм рдХреБрдЫ рдЦреЛрдЬрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВред рдкрд╣рд▓рд╛ рд╕реБрдзрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рджреЛ рдЕрд▓рдЧ рдЬрд╝рд░реВрд░рддреЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░реЗрдВ: exact match (рддреЗрдЬрд╝ рдФрд░ рдЕрдиреБрдорд╛рдирд┐рдд) рдмрдирд╛рдо contains search (рд▓рдЪреАрд▓рд╛, рдкрд░ рднрд╛рд░реА)ред
Exact match рдлрд╝реАрд▓реНрдбреНрд╕ рдореЗрдВ order ID, ticket number, email, phone, рдпрд╛ рдХреЛрдИ external reference рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдпреЗ рд╕рд╛рдорд╛рдиреНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдкрд░рдлреЗрдХреНрдЯ рд╣реИрдВред рдпрджрд┐ рдПрдбрдорд┐рди рдЕрдХреНрд╕рд░ рдХрд┐рд╕реА ID рдпрд╛ email рдХреЛ рдкреЗрд╕реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рд╛рдзрд╛рд░рдг рдЗрдВрдбреЗрдХреНрд╕ рдФрд░ equality рдХреНрд╡реЗрд░реА рдЗрд╕реЗ рддреБрд░рдВрдд рдорд╣рд╕реВрд╕ рдХрд░рд╛рдХреЗ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред
Contains search рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдХреЛрдИ рдРрд╕рд╛ рдЯреБрдХрдбрд╝рд╛ рдЯрд╛рдЗрдк рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ "refund" рдпрд╛ "john" рдФрд░ рдирд╛рдореЛрдВ, рдиреЛрдЯреНрд╕ рдФрд░ рд╡рд┐рд╡рд░рдгреЛрдВ рдореЗрдВ рдореИрдЪ рдХреА рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реИред рдЕрдХреНрд╕рд░ рдпрд╣ LIKE %term% рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реАрдбрд┐рдВрдЧ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп B-tree рдЗрдВрдбреЗрдХреНрд╕ рдЦреЛрдЬ рдХреЛ рд╕рдВрдХреБрдЪрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдЗрд╕рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕ рдмрд╣реБрдд рд╕рд╛рд░реА рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╕реНрдХреИрди рдХрд░ рджреЗрддрд╛ рд╣реИред
рдмрд┐рдирд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рдмреЛрдЭ рдбрд╛рд▓реЗ рд╕рд░реНрдЪ рдмрдирд╛рдиреЗ рдХрд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рддрд░реАрдХрд╛:
- Exact-match рд╕рд░реНрдЪ рдХреЛ first-class рдмрдирд╛рдПрдВ (ID, email, username) рдФрд░ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд▓реЗрдмрд▓ рдХрд░реЗрдВред
- "starts with" рд╕рд░реНрдЪ (
term%) рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЗрдВрдбреЗрдХреНрд╕ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЕрдХреНрд╕рд░ рдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рдареАрдХ рд▓рдЧрддрд╛ рд╣реИред - contains search рдХреЗрд╡рд▓ рддрднреА рдЬреЛрдбрд╝реЗрдВ рдЬрдм рд▓реЙрдЧ рдпрд╛ рд╢рд┐рдХрд╛рдпрддреЗрдВ рджрд┐рдЦрд╛рдПрдБ рдХрд┐ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
- рдЬрдм рдЖрдк рдЗрд╕реЗ рдЬреЛрдбрд╝реЗрдВ, рддреЛ рд╕рд╣реА рдЯреВрд▓ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (PostgreSQL full-text search рдпрд╛ trigram рдЗрдВрдбреЗрдХреНрд╕) рдмрдЬрд╛рдп рдЙрдореНрдореАрдж рдХрд░рдиреЗ рдХреЗ рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рдЗрдВрдбреЗрдХреНрд╕
LIKE %term%рдХреЛ рдареАрдХ рдХрд░ рджреЗрдЧрд╛ред
рдЗрдирдкреБрдЯ рдирд┐рдпрдо рдЕрдзрд┐рдХрддрд░ рдЯреАрдореЛрдВ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рдорд╛рдпрдиреЗ рд░рдЦрддреЗ рд╣реИрдВред рд╡реЗ рд▓реЛрдб рдШрдЯрд╛рддреЗ рд╣реИрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕реБрд╕рдВрдЧрдд рдмрдирд╛рддреЗ рд╣реИрдВ:
- contains search рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рд▓рдВрдмрд╛рдИ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ (рдЙрджрд╛., 3+ рдХреИрд░реЗрдХреНрдЯрд░)ред
- рдХреЗрд╕ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдХрд░реЗрдВ рдпрд╛ case-insensitive рддреБрд▓рдирд╛ рд▓рдЧрд╛рддрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
- рд▓реАрдбрд┐рдВрдЧ рдФрд░ рдЯреНрд░реЗрд▓рд┐рдВрдЧ рд╕реНрдкреЗрд╕реЗрд╕ рдХреЛ рдЯреНрд░рд┐рдо рдХрд░реЗрдВ рдФрд░ рд░рд┐рдкреАрдЯреЗрдб рд╕реНрдкреЗрд╕реЗрд╕ рдХреЛ collapse рдХрд░реЗрдВред
- emails рдФрд░ IDs рдХреЛ рд╕рд╛рдорд╛рдиреНрдпрддрдГ exact рдорд╛рдиреЗрдВ, рднрд▓реЗ рд╣реА рд╡реЗ рд╕рд╛рдорд╛рдиреНрдп рд╕рд░реНрдЪ рдмреЙрдХреНрд╕ рдореЗрдВ рдбрд╛рд▓реЗрдВред
- рдпрджрд┐ рдЯрд░реНрдо рдмрд╣реБрдд рд╡реНрдпрд╛рдкрдХ рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд░реЗрдВ рдмрдЬрд╛рдп рдпрд╣ рдХрд┐ рдЖрдк рдмрдбрд╝реА рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рдПрдБред
рдПрдХ рдЫреЛрдЯрд╛ рдЙрджрд╛рд╣рд░рдг: рдПрдХ рд╕рдкреЛрд░реНрдЯ рдореИрдиреЗрдЬрд░ "ann" рдЦреЛрдЬрддрд╛ рд╣реИред рдЕрдЧрд░ рдЖрдкрдХрд╛ рд╕рд┐рд╕реНрдЯрдо LIKE %ann% рдЪрд▓рд╛рддрд╛ рд╣реИ рдиреЛрдЯреНрд╕, рдирд╛рдореЛрдВ рдФрд░ рдПрдбреНрд░реЗрд╕ рдкрд░, рддреЛ рдпрд╣ рд╣рдЬрд╛рд░реЛрдВ рд░рд┐рдХреЙрд░реНрдб рд╕реНрдХреИрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЕрдЧрд░ рдЖрдк рдкрд╣рд▓реЗ exact рдлреАрд▓реНрдбреНрд╕ (email рдпрд╛ customer ID) рдЪреЗрдХ рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рдЬрд╝рд░реВрд░рдд рдкрд░ рд╕реНрдорд╛рд░реНрдЯ рдЯреЗрдХреНрд╕реНрдЯ рдЗрдВрдбреЗрдХреНрд╕ рдкрд░ рдЬрд╛рдПрдБ, рддреЛ рд╕рд░реНрдЪ рддреЗрдЬрд╝ рд░рд╣рддреА рд╣реИ рдмрд┐рдирд╛ рд╣рд░ рдХреНрд╡реЗрд░реА рдХреЛ рднрд╛рд░реА рдмрдирд╛рдПред
рд╕реБрд░рдХреНрд╖рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдЗрдВрдбреЗрдХреНрд╕ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдЪрд░рдг-рджрд░-рдЪрд░рдг рд╡рд░реНрдХрдлрд╝реНрд▓реЛ
рдЗрдВрдбреЗрдХреНрд╕ рдЬреЛрдбрд╝рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдФрд░ рдкрдЫрддрд╛рдиреЗ рдореЗрдВ рднреА рдЖрд╕рд╛рдиред рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдЖрдкрдХреЛ рдЙрди рдлрд╝рд┐рд▓реНрдЯрд░реЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рд░рдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рдЬрд┐рди рдкрд░ рдЖрдкрдХреЗ рдПрдбрдорд┐рди рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЖрдкрдХреЛ "рд╢рд╛рдпрдж рдЙрдкрдпреЛрдЧреА" рдЗрдВрдбреЗрдХреНрд╕реЛрдВ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИ рдЬреЛ рдмрд╛рдж рдореЗрдВ writes рдХреЛ рдзреАрдорд╛ рдХрд░ рджреЗрдВред
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВред рд╢реАрд░реНрд╖ рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рджреЛ рддрд░реАрдХреЛрдВ рд╕реЗ рдирд┐рдХрд╛рд▓реЗрдВ:
- рд╕рдмрд╕реЗ рдмрд╛рд░-рдмрд╛рд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ
- рд╕рдмрд╕реЗ рдзреАрдореА рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ
рдПрдбрдорд┐рди рдкреИрдирд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рдпреЗ рдЖрдорддреМрд░ рдкрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдФрд░ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рд╡рд╛рд▓реЗ рд▓рд┐рд╕реНрдЯ рдкреЗрдЬ рд╣реЛрддреЗ рд╣реИрдВред
рдЕрдЧрд▓рд╛, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЬреИрд╕реА рдХреНрд╡реЗрд░реА рджрд┐рдЦрддреА рд╣реИ рд╡реИрд╕рд╛ рд╣реА рдХреНрд╡реЗрд░реА рд╢реЗрдк рдкрдХрдбрд╝реЗрдВред рд╕рдЯреАрдХ WHERE рдФрд░ ORDER BY рд▓рд┐рдЦреЗрдВ, рд╕реЙрд░реНрдЯ рджрд┐рд╢рд╛ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрдпреЛрдЬрдиреЛрдВ рд╕рд╣рд┐рдд (рдЙрджрд╛.: status = 'open' AND assignee_id = 42 ORDER BY created_at DESC)ред рдЫреЛрдЯреЗ рдЕрдВрддрд░ рднреА рддрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕рд╛ рдЗрдВрдбреЗрдХреНрд╕ рдорджрдж рдХрд░реЗрдЧрд╛ред
рдПрдХ рд╕рд░рд▓ рд▓реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
- рдПрдХ рдзреАрдореА рдХреНрд╡реЗрд░реА рдЪреБрдиреЗрдВ рдФрд░ рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдЖрдЬрд╝рдорд╛рдПрдБред
- рдПрдХрд▓ рдЗрдВрдбреЗрдХреНрд╕ рдЬреЛрдбрд╝реЗрдВ рдпрд╛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░реЗрдВред
- рд╡рд╣реА рдлрд╝рд┐рд▓реНрдЯрд░ рдФрд░ рд╡рд╣реА рд╕реЙрд░реНрдЯ рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рдорд╛рдкреЗрдВред
- рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ inserts рдФрд░ updates рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд░реВрдк рд╕реЗ рдзреАрдореЗ рдирд╣реАрдВ рд╣реБрдПред
- рдХреЗрд╡рд▓ рддрдм рдмрджрд▓рд╛рд╡ рд░рдЦреЗрдВ рдЬрдм рдпрд╣ рд▓рдХреНрд╖реНрдп рдХреНрд╡реЗрд░реА рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмреЗрд╣рддрд░ рдмрдирд╛рдПред
Pagination рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╕реЗ рдЬрд╛рдБрдЪ рдЬрд╝рд░реВрд░реА рд╣реИред Offset-based pagination (OFFSET 20000) рдЧрд╣рд░рд╛рдИ рдореЗрдВ рдЬрд╛рдиреЗ рдкрд░ рдЕрдХреНрд╕рд░ рдзреАрдорд╛ рд╣реЛрддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдЗрдВрдбреЗрдХреНрд╕ рдореМрдЬреВрдж рд╣реЛред рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрд╣реБрдд рдЧрд╣рд░реЗ рдкрдиреНрдиреЛрдВ рдкрд░ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ cursor-style pagination ("show items before this timestamp/id") рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЗрдВрдбреЗрдХреНрд╕ рдмрдбрд╝реЗ рдЯреЗрдмрд▓реНрд╕ рдкрд░ рд╕реБрд╕рдВрдЧрдд рдХрд╛рдо рдХрд░реЗред
рдЕрдВрдд рдореЗрдВ, рдПрдХ рдЫреЛрдЯрд╛ рд░рд┐рдХреЙрд░реНрдб рд░рдЦреЗрдВ рддрд╛рдХрд┐ рдорд╣реАрдиреЛрдВ рдмрд╛рдж рднреА рдЖрдкрдХреА рдЗрдВрдбреЗрдХреНрд╕ рд╕реВрдЪреА рд╕рдордЭ рдореЗрдВ рдЖрдП: рдЗрдВрдбреЗрдХреНрд╕ рдирд╛рдо, рддрд╛рд▓рд┐рдХрд╛, рдХреЙрд▓рдо (рдФрд░ рдХреНрд░рдо), рдФрд░ рдХреНрд╡реЗрд░реА рдЬрд┐рд╕реЗ рд╡рд╣ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рдПрдбрдорд┐рди рдкреИрдирд▓реЛрдВ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ рдЧрд▓рддрд┐рдпрд╛рдБ
рдмрд┐рдирд╛ рдпрд╣ рджреЗрдЦреЗ рдХрд┐ рд▓реЛрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреИрд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рддреЗ, рд╕реЙрд░реНрдЯ рдФрд░ рдкреЗрдЬ рдХрд░рддреЗ рд╣реИрдВ, рдЗрдВрдбреЗрдХреНрд╕ рдЬреЛрдбрд╝рдирд╛ рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рд░рд╛рд╕реНрддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдПрдбрдорд┐рди рдкреИрдирд▓ рдзреАрдорд╛ рдорд╣рд╕реВрд╕ рд╣реЛред рдЗрдВрдбреЗрдХреНрд╕ рдЬрдЧрд╣ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рд╣рд░ insert/update рдкрд░ рдХрд╛рдо рдмрдврд╝рд╛рддреЗ рд╣реИрдВред
рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рджрд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рдЧрд▓рддрд┐рдпрд╛рдБ
рдпреЗ рдкреИрдЯрд░реНрди рд╕рдмрд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рд╕рдорд╕реНрдпрд╛рдПрдБ рдкреИрджрд╛ рдХрд░рддреЗ рд╣реИрдВ:
- рд╣рд░ рдХреЙрд▓рдо рдХреЛ "рд╢рд╛рдпрдж" рдХреЗ рд▓рд┐рдП рдЗрдВрдбреЗрдХреНрд╕ рдХрд░рдирд╛ред
- рдЧрд▓рдд рдХреЙрд▓рдо рдСрд░реНрдбрд░ рдХреЗ рд╕рд╛рде рдХрдВрдкреЛрдЬрд┐рдЯ рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рдирд╛ред
- рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдФрд░ pagination рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рди рд░рдЦрдирд╛ред
- рд╕рд╛рдорд╛рдиреНрдп рдЗрдВрдбреЗрдХреНрд╕ рд╕реЗ
LIKE '%term%'рдЬреИрд╕реЗ contains рд╕рд░реНрдЪ рдХреЛ рдареАрдХ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рд░рдЦрдирд╛ред - UI рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж рдкреБрд░рд╛рдиреЗ рдЗрдВрдбреЗрдХреНрд╕ рдЫреЛрдбрд╝ рджреЗрдирд╛ред
рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкрд░рд┐рджреГрд╢реНрдп: рд╕рдкреЛрд░реНрдЯ рдЯреАрдо Tickets рдХреЛ Status = Open рд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рддреА рд╣реИ, updated time рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реЙрд░реНрдЯ рдХрд░рддреА рд╣реИ, рдФрд░ рдкреЗрдЬ рдХрд░рддреА рд╣реИред рдпрджрд┐ рдЖрдкрдиреЗ рдХреЗрд╡рд▓ status рдкрд░ рдЗрдВрдбреЗрдХреНрд╕ рдЬреЛрдбрд╝рд╛ рд╣реИ, рддреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╕рднреА open рдЯрд┐рдХрдЯ рдЗрдХрдареНрдард╛ рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдкрдбрд╝ рд╕рдХрддреА рд╣реИред рдРрд╕рд╛ рдЗрдВрдбреЗрдХреНрд╕ рдЬреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдФрд░ рд╕реЙрд░реНрдЯ рджреЛрдиреЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реЛ, рдкреЗрдЬ 1 рдХреЛ рдЬрд▓реНрджреА рд▓реМрдЯ рд╕рдХрддрд╛ рд╣реИред
рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреЗ рддреНрд╡рд░рд┐рдд рддрд░реАрдХреЗ
рдПрдбрдорд┐рди UI рдмрджрд▓рд╛рд╡реЛрдВ рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ рд░рд┐рд╡реНрдпреВ рдХрд░реЗрдВ:
- рд╢реАрд░реНрд╖ рдлрд╝рд┐рд▓реНрдЯрд░ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЙрд░реНрдЯ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдВ, рдлрд┐рд░ рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ рдХрд┐ рд╡рд╣рд╛рдБ
WHERE + ORDER BYрдкреИрдЯрд░реНрди рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдЗрдВрдбреЗрдХреНрд╕ рд╣реИред - рд▓реАрдбрд┐рдВрдЧ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб (
LIKE '%term%') рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдФрд░ рддрдп рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ contains search рд╡рд╛рдХрдИ рдЬрд╝рд░реВрд░реА рд╣реИред - рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдпрд╛ рдУрд╡рд░рд▓реИрдкрд┐рдВрдЧ рдЗрдВрдбреЗрдХреНрд╕ рдЦреЛрдЬреЗрдВред
- рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЕрдирдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рдЗрдВрдбреЗрдХреНрд╕ рдЯреНрд░реИрдХ рдХрд░реЗрдВ, рдлрд┐рд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛрдиреЗ рдкрд░ рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛рдПрдБред
рдпрджрд┐ рдЖрдк AppMaster рдкрд░ PostgreSQL рдореЗрдВ рдПрдбрдорд┐рди рдкреИрдирд▓ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рдореАрдХреНрд╖рд╛ рдирдП рд╕реНрдХреНрд░реАрди рд╢рд┐рдк рдХрд░рдиреЗ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрдирд╛рдПрдВред рд╕рд╣реА рдЗрдВрдбреЗрдХреНрд╕ рдЕрдХреНрд╕рд░ рдЙрдиреНрд╣реАрдВ рдлрд╝рд┐рд▓реНрдЯрд░реЛрдВ рдФрд░ рд╕реЙрд░реНрдЯ рдСрд░реНрдбрд░реНрд╕ рд╕реЗ рд╕реАрдзреЗ рдирд┐рдХрд▓рддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХрд╛ UI рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рддреНрд╡рд░рд┐рдд рдЪреЗрдХ рдФрд░ рдЕрдЧрд▓реЗ рдХрджрдо
рдФрд░ рдЗрдВрдбреЗрдХреНрд╕ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЬреЛ рдЗрдВрдбреЗрдХреНрд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реИрдВ рд╡реЗ рдЙрди рд╕рдЯреАрдХ рдлрд╝рд┐рд▓реНрдЯрд░реЛрдВ рдореЗрдВ рдорджрдж рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд▓реЛрдЧ рд░реЛрдЬрд╝ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдЕрдЪреНрдЫрд╛ рдПрдбрдорд┐рди рдкреИрдирд▓ рд╕рд╛рдорд╛рдиреНрдп рдкрд╛рдереНрд╕ рдкрд░ рддреБрд░рдВрдд рдорд╣рд╕реВрд╕ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рди рдХрд┐ рджреБрд░реНрд▓рдн рд╕рд░реНрдЪ рдкрд░ред
рдХреБрдЫ рдЪреЗрдХ рдЬреЛ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдорд╕реНрдпрд╛рдПрдБ рдкрдХрдбрд╝ рд▓реЗрддреЗ рд╣реИрдВ:
- рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдлрд╝рд┐рд▓реНрдЯрд░ рд╕рдВрдпреЛрдЬрдиреЛрдВ (status, assignee, date range, рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЙрд░реНрдЯ) рдХреЛ рдЦреЛрд▓реЗрдВ рдФрд░ рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ рдХрд┐ рд╡реЗ рддрд╛рд▓рд┐рдХрд╛ рдмрдврд╝рдиреЗ рдкрд░ рднреА рддреЗрдЬрд╝ рд░рд╣рддреЗ рд╣реИрдВред
- рд╣рд░ рдзреАрдореЗ рд╡реНрдпреВ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪреЗрдВ рдХрд┐ рдХреНрд╡реЗрд░реА рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реА рд╣реИ рдЬреЛ
WHEREрдФрд░ORDER BYрджреЛрдиреЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ, рд╕рд┐рд░реНрдлрд╝ рдПрдХ рд╕реЗ рдирд╣реАрдВред - рдЗрдВрдбреЗрдХреНрд╕ рд╕реВрдЪреА рдЗрддрдиреА рдЫреЛрдЯреА рд░рдЦреЗрдВ рдХрд┐ рдЖрдк рд╣рд░ рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдПрдХ рд╡рд╛рдХреНрдп рдореЗрдВ рд╕рдордЭрд╛ рд╕рдХреЗрдВред
- рд▓рд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рднрд╛рд░реА рдХрд╛рд░реНрдпреЛрдВ (create, update, status change) рдкрд░ рдирдЬрд╝рд░ рд░рдЦреЗрдВред рдпрджрд┐ рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ рдХреЗ рдмрд╛рдж рд╡реЗ рдзреАрдореЗ рд╣реБрдП рд╣реИрдВ, рддреЛ рд╕рдВрднрд╡рддрдГ рдЖрдкрдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдпрд╛ рдУрд╡рд░рд▓реИрдкрд┐рдВрдЧ рдЗрдВрдбреЗрдХреНрд╕ рд╣реИрдВред
- рдЕрдкрдиреЗ UI рдореЗрдВ "search" рдХрд╛ рдорддрд▓рдм рддрдп рдХрд░реЗрдВ: exact match, prefix, рдпрд╛ containsред рдЖрдкрдХреА рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ рдпреЛрдЬрдирд╛ рдХреЛ рдЙрд╕ рдЪреБрдирд╛рд╡ рдХреЗ рдЕрдиреБрд░реВрдк рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред
рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрдЧрд▓рд╛ рдХрджрдо рд╣реИ рдЕрдкрдиреЗ рдЧреЛрд▓реНрдбрди рдкрд╛рдереНрд╕ рдХреЛ рд╕рд╛рдзрд╛рд░рдг рд╡рд╛рдХреНрдпреЛрдВ рдореЗрдВ рд▓рд┐рдЦрдирд╛, рдЬреИрд╕реЗ: "Support agents filter open tickets, assigned to me, last 7 days, sorted by newest." рдЗрди рд╡рд╛рдХреНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЫреЛрдЯрд╛ рд╕реЗрдЯ рдЗрдВрдбреЗрдХреНрд╕ рдбрд┐рдЬрд╛рдЗрди рдХрд░реЗрдВ рдЬреЛ рдЙрдиреНрд╣реЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдкреЛрд░реНрдЯ рдХрд░реЗред
рдпрджрд┐ рдЖрдк рдЕрднреА рднреА рдмрд┐рд▓реНрдб рдХреЗ рд╢реБрд░реБрдЖрддреА рдЪрд░рдг рдореЗрдВ рд╣реИрдВ, рддреЛ рд╕реНрдХреНрд░реАрди рдмрд╣реБрдд рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдлрд╝рд┐рд▓реНрдЯрд░ рдореЙрдбрд▓ рдХрд░рдирд╛ рдорджрджрдЧрд╛рд░ рд╣реЛрддрд╛ рд╣реИред AppMaster (appmaster.io) рдХреЗ рд╕рд╛рде рдЖрдк рдПрдбрдорд┐рди рд╡реНрдпреВрдЬрд╝ рдкрд░ рдЬрд▓реНрджреА рдЗрдЯрд░реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЕрд╕рд▓реА рдЙрдкрдпреЛрдЧ рджрд┐рдЦрдиреЗ рдкрд░ рдЙрди рдХреБрдЫ рдЗрдВрдбреЗрдХреНрд╕реЛрдВ рдХреЛ рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реЙрдЯ рдкрд╛рдереНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред
рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рд╢реНрди
рд╢реБрд░реБрдЖрдд рдЙрди рдХреНрд╡реЗрд░рд┐рдпреЛрдВ рд╕реЗ рдХрд░реЗрдВ рдЬреЛ рд▓рдЧрд╛рддрд╛рд░ рдЪрд▓рддреА рд░рд╣рддреА рд╣реИрдВ: рд╡рд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд▓рд┐рд╕реНрдЯ рд╡реНрдпреВ рдЬреЛ рдПрдбрдорд┐рди рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рджреЗрдЦрддреЗ рд╣реИрдВ, рдФрд░ рд╡реЗ 2тАУ3 рдлрд╝рд┐рд▓реНрдЯрд░ рдЬрд┐рди рдкрд░ рд╡реЗ рдмрд╛рд░-рдмрд╛рд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВред рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╡реГрддреНрддрд┐ рдФрд░ рджрд░реНрдж (рд╕рдмрд╕реЗ рдзреАрдореА рдФрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рд╡рд╛рд▓реА) рдХреЛ рдорд╛рдкреЗрдВ, рдлрд┐рд░ рдХреЗрд╡рд▓ рдЙрдиреНрд╣реАрдВ рдкрд░ рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рдПрдВ рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд╡реЗрд░реА рд╢реЗрдкреНрд╕ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкреНрд░рддреАрдХреНрд╖рд╛ рд╕рдордп рдШрдЯрд╛рддреЗ рд╣реЛрдВред
рдХреНрдпреЛрдВрдХрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╝рд┐рд▓реНрдЯрд░ рдЕрд▓рдЧ рдорд╛рддреНрд░рд╛ рдореЗрдВ рдХрд╛рдо рдХрд░рд╡рд╛рддреЗ рд╣реИрдВред рдХреБрдЫ рдлрд╝рд┐рд▓реНрдЯрд░ рдмрд╣реБрдд рдХрдо рд░реЛреЫрд╛рдирд╛ рдорд┐рд▓рд╛рди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЬрд▓реНрджреА рд▓реМрдЯ рдЖрддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рджреВрд╕рд░реЗ рдмрдбрд╝реЗ рд░реЗрдВрдЬ рдХреЛ рдкрдврд╝рдиреЗ рдпрд╛ рдмрдбрд╝реЗ рд░рд┐рдЬрд╝рд▓реНрдЯ рд╕реЗрдЯ рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдХреНрд╡реЗрд░реА рдЕрдЪреНрдЫрд╛ рдЗрдВрдбреЗрдХреНрд╕ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреА рд╣реИ рдФрд░ рджреВрд╕рд░реА рдлрд┐рд░ рднреА рд╕реНрдХреИрди рдФрд░ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдореЗрдВ рдлрдБрд╕ рд╕рдХрддреА рд╣реИред
рдирд╣реАрдВред рдпрджрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдХрд┐рд╕реА рдПрдХ рд╣реА status рдореЗрдВ рд╣реИрдВ, рддреЛ рд╕рд┐рд░реНрдлрд╝ status рдкрд░ рдЗрдВрдбреЗрдХреНрд╕ рдбрд╛рд▓рдиреЗ рд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝реЗрдЧрд╛ред рдпрд╣ рддрдм рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдХреЛрдИ status рджреБрд░реНрд▓рдн рд╣реЛ, рдпрд╛ рдЬрдм рдЖрдк рдЙрд╕реЗ рдРрд╕реЗ рджреВрд╕рд░реЗ рдХрдВрдбреАрд╢рди рдХреЗ рд╕рд╛рде рдорд┐рд▓рд╛рдПрдБ рдЬреЛ рдкрд░рд┐рдгрд╛рдо рд╕реЗрдЯ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЫреЛрдЯрд╛ рдХрд░ рджреЗред
рдРрд╕рд╛ рдХрдВрдкреЛрдЬрд┐рдЯ рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рдПрдВ рдЬреЛ рд▓реЛрдЧреЛрдВ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЛ рдореИрдЪ рдХрд░реЗ тАФ рдЬреИрд╕реЗ status рджреНрд╡рд╛рд░рд╛ рдлрд╝рд┐рд▓реНрдЯрд░ рдФрд░ recent activity рджреНрд╡рд╛рд░рд╛ рд╕реЙрд░реНрдЯред PostgreSQL рдореЗрдВ partial index рдПрдХ рд╕рд╛рдлрд╝ рд╕рдорд╛рдзрд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдПрдХ status рдкреНрд░рдореБрдЦ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рдЗрдВрдбреЗрдХреНрд╕ рдЫреЛрдЯрд╛ рдФрд░ рдлреЛрдХрд╕реНрдб рд░рд╣рддрд╛ рд╣реИред
рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЗрдВрдбреЗрдХреНрд╕ assignee_id рдкрд░ рдЕрдХреНрд╕рд░ рддреНрд╡рд░рд┐рдд рдЬреАрдд рджреЗрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ equality рдлрд╝рд┐рд▓реНрдЯрд░ рд╣реИред рдЕрдЧрд░ тАЬmy open itemsтАЭ рдПрдХ рдореБрдЦреНрдп рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд╣реИ, рддреЛ рдПрдХ рдХрдВрдкреЛрдЬрд┐рдЯ рдЗрдВрдбреЗрдХреНрд╕ рдЬреЛ assignee_id рд╕реЗ рд╢реБрд░реВ рд╣реЛ рдФрд░ рдлрд┐рд░ status (рдФрд░ рдЬрд╝рд░реВрд░рдд рд╣реЛ рддреЛ рд╕реЙрд░реНрдЯ рдХреЙрд▓рдо) рд╢рд╛рдорд┐рд▓ рдХрд░реЗ, рдЖрдорддреМрд░ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ single-column рдЗрдВрдбреЗрдХреНрд╕реЛрдВ рд╕реЗ рдмреЗрд╣рддрд░ рдХрд░рддрд╛ рд╣реИред
рдЕрд╕рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рдЖрдЗрдЯрдо рдЕрдХреНрд╕рд░ NULL рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдЯреЛрд░ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ WHERE assignee_id IS NULL рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ WHERE assignee_id = 123 рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ unassigned рдХреНрдпреВрдЬрд╝ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ, рддреЛ рдЙрд╕ рдХреНрд╡реЗрд░реА рдХреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЯреЗрд╕реНрдЯ рдХрд░реЗрдВ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдиреЗ рдкрд░ partial index рдЬреИрд╕реА рд░рдгрдиреАрддрд┐ рдЕрдкрдирд╛рдПрдБред
рд▓реЛрдЧ рдЬреЛ timestamp рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рддреЗ рд╣реИрдВ, рдЕрдХреНрд╕рд░ created_at рдХреЗ рд▓рд┐рдП тАЬnew itemsтАЭ рдФрд░ updated_at рдХреЗ рд▓рд┐рдП тАЬrecently changedтАЭ рдХрд╛ рдорддрд▓рдм рд░рдЦрддреЗ рд╣реИрдВред рдЙрди рдХреЙрд▓рдореЛрдВ рдкрд░ рд╕рд╛рдорд╛рдиреНрдп btree рдЗрдВрдбреЗрдХреНрд╕ рд░рдЦреЗрдВ; рдмрд┐рдирд╛ рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ last 30 days рдЬреИрд╕рд╛ рдХреНрд▓рд┐рдХ рдЕрдХреНрд╕рд░ рдлреБрд▓ рдЯреЗрдмрд▓ рд╕реНрдХреИрди рдмрди рд╕рдХрддрд╛ рд╣реИред рдЕрдЧрд░ UI рд╕рдмрд╕реЗ рдирдпрд╛ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЙрд░реНрдЯ рднреА рдХрд░рддрд╛ рд╣реИ, рддреЛ soring direction рдХреЛ рдореИрдЪ рдХрд░рдирд╛ рдлрд╛рдпрджреЗ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдЬрд╝реНрдпрд╛рджрд╛рддрд░ missing-record рдмрдЧ рдбреЗрдЯ рдмрд╛рдЙрдВрдбреНрд░реАрдЬрд╝ рд╕реЗ рдЖрддреЗ рд╣реИрдВ, рдЗрдВрдбреЗрдХреНрд╕ рд╕реЗ рдирд╣реАрдВред рдПрдХ рднрд░реЛрд╕реЗрдордВрдж рдкреИрдЯрд░реНрди рд╣реИ inclusive start рдФрд░ exclusive end: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЪреБрдиреА рдЧрдИ рддрд╛рд░реАрдЦреЛрдВ рдХреЛ UTC рдореЗрдВ рдмрджрд▓реЗрдВ рдФрд░ рдХреНрд╡реЗрд░реА рдХрд░реЗрдВ \u003e= start рдФрд░ \u003c end_next_day рддрд╛рдХрд┐ рдЖрдк рдЕрдВрдд рдХреА рддрд╛рд░реАрдЦ рдХреЗ рдмрд╛рдж рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЧрд▓рддреА рд╕реЗ рди рд╣рдЯрд╛рдПрдБред
рдХреНрдпреЛрдВрдХрд┐ LIKE %term% рдЬреИрд╕реЗ contains рдХреНрд╡реЗрд░реАрдЬ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп btree рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рдкрд╛рддреАрдВ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рдмрд╣реБрдд рд╕реА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╕реНрдХреИрди рдХрд░ рджреЗрддреА рд╣реИрдВред рд╕рдЯреАрдХ рд▓реБрдХрдЕрдк (ID, email, order number) рдХреЛ рдкреНрд░рд╛рдердорд┐рдХ рд░рдЦреЗрдВ, рдФрд░ рдХреЗрд╡рд▓ рддрднреА contains search рдЬреЛрдбрд╝реЗрдВ рдЬрдм рд▓реЙрдЧреНрд╕ рдпрд╛ рд╢рд┐рдХрд╛рдпрддреЗрдВ рджрд┐рдЦрд╛рдПрдБ рдХрд┐ рдпрд╣ рдЬрд╝рд░реВрд░реА рд╣реИ тАФ рдФрд░ рддрдм PostgreSQL full-text search рдпрд╛ trigram рдЗрдВрдбреЗрдХреНрд╕ рдЬреИрд╕рд╛ рд╕рд╣реА рдЯреВрд▓ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЗрдВрдбреЗрдХреНрд╕ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рд╕реНрдЯреЛрд░реЗрдЬ рдмрдврд╝рддрд╛ рд╣реИ рдФрд░ inserts/updates рдзреАрдореЗ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдЗрдВрдбреЗрдХреНрд╕ WHERE + ORDER BY рдкреИрдЯрд░реНрди рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ рддреЛ рдЕрд╕рд▓реА рдмреЙрдЯрд▓рдиреЗрдХ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ред рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рддрд░реАрдХрд╛ рд╣реИ: рдПрдХ рд╕рдордп рдореЗрдВ рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ рдмрджрд▓реЗрдВ, рдЙрд╕реА рдзреАрдореА рдХреНрд╡реЗрд░реА рдХреЗ рд╕рд╛рде рдкреБрдирдГрдорд╛рдк рдХрд░реЗрдВ, рдФрд░ рдХреЗрд╡рд▓ рд╡реЗ рдкрд░рд┐рд╡рд░реНрддрди рд░рдЦреЗрдВ рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╣реЙрдЯ рдкрд╛рде рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдПрдБред\n\nрдЕрдЧрд░ рдЖрдк AppMaster рдореЗрдВ рдПрдбрдорд┐рди рд╕реНрдХреНрд░реАрди рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЯреАрдо рдЬрд┐рди рдлрд╝рд┐рд▓реНрдЯрд░реЛрдВ рдФрд░ рд╕реЙрд░реНрдЯреНрд╕ рдХрд╛ рд╕рдмрд╕реЗ рдЬреНрдпрд╛рджрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ рдЙрдиреНрд╣реЗрдВ рд▓реЙрдЧ рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реАрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрдпреВрдЬрд╝ рдХреЗ рд▓рд┐рдП рдЫреЛрдЯрд╛ рд╕реЗрдЯ рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рдПрдБ рдмрдЬрд╛рдп рд╣рд░ рдлрд╝реАрд▓реНрдб рдХреЛ рдЗрдВрдбреЗрдХреНрд╕ рдХрд░рдиреЗ рдХреЗред


