Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
  • This project
    • Loading...
  • Sign in / Register
P
pac
  • Overview
    • Overview
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • ai-tools
  • pac
  • Repository

Switch branch/tag
  • pac
  • apps
  • pac-service
  • prisma
  • migrations
History Find file
  • Source code
  • Download zip
  • Download tar.gz
  • Download tar.bz2
  • Download tar
  • luoqi's avatar
    perf(admin): GET /admin/host/self 卡 28s —— 补 2 个复合索引 · 3d02ac03
    getStats() 并发跑 10 条查询,其中两条缺覆盖索引:
    - patient_transactions.count(hostId, occurredAt>=X):(patient_id, occurred_at)
      索引带不动"只按时间不带 patient_id"的过滤,近乎全扫索引。线上冷执行 8.3s。
    - patient_facts.count(hostId, status='active'):(hostId, tenantId) 没 status、
      (patientId, status) 没 hostId,两个都覆盖不了。线上冷执行 18.9s。
      三列(非二列):tenant-guard 扩展对未带 tenantId 的查询自动注入 tenantId 过滤,
      二列索引配上这条自动追加的谓词后 planner 直接弃用索引退回全表扫,三列才稳定命中
      index-only scan。
    
    两条索引都用 CREATE INDEX CONCURRENTLY(表已 379万/371万行,避免锁表阻塞摄入写入)。
    线上手动建索引 + 验证已完成(index-only scan,查询从 8~19s 降到 <1s;端到端
    GET /admin/host/self 28s → 0.9s);IF NOT EXISTS 保证下次 `prisma migrate deploy`
    在 pac-migrate 里重跑时是空操作,只补 `_prisma_migrations` 记录。
    luoqi committed Jul 01, 2026
    3d02ac03
Name
Last commit
Last update
..
20260526000000_init Loading commit data...
20260528000000_sync_lock_via_partial_unique Loading commit data...
20260528000001_sync_log_metadata_for_checkpoint Loading commit data...
20260528000002_patient_tx_source_event_partial_unique Loading commit data...
20260531133624_add_invocation_system_prompt Loading commit data...
20260601032022_add_plan_snoozed_until Loading commit data...
20260601072323_add_execution_recall_feedback Loading commit data...
20260602054612_add_persona_feature_data Loading commit data...
20260603090000_move_recall_feedback_to_plan Loading commit data...
20260604131236_add_patient_relations_drop_primary_contact_type Loading commit data...
20260604143103_add_patient_return_visits Loading commit data...
20260607034635_add_acquisition_channel Loading commit data...
20260607042209_add_referral_aggregates Loading commit data...
20260608084503_add_invocation_ttft_latency Loading commit data...
20260610053351_add_patient_phone_verified Loading commit data...
20260625035723_add_patient_facts_patient_id_type_status_idx Loading commit data...
20260627113357_add_patient_source_unit Loading commit data...
20260627121924_add_fact_returnvisit_source_unit Loading commit data...
20260701060607_add_patient_transactions_host_occurred_at_idx Loading commit data...
20260701061631_add_patient_facts_host_tenant_status_idx Loading commit data...
migration_lock.toml Loading commit data...