recreate_tables.sql 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. -- 1. 重建诊所日志宽表 (fact_cliniclog)
  2. DROP TABLE IF EXISTS `fact_cliniclog`;
  3. CREATE TABLE `fact_cliniclog` (
  4. `id` bigint NOT NULL AUTO_INCREMENT(1) COMMENT "自增ID",
  5. `come_time` datetime NOT NULL COMMENT "接诊时间",
  6. `clinic_id` bigint NOT NULL COMMENT "挂号ID",
  7. `patientId` varchar(500) NULL COMMENT "病例号",
  8. `patient_name` varchar(5000) NULL COMMENT "姓名",
  9. `sex` tinyint NULL COMMENT "性别 1男2女",
  10. `birthday` date NULL COMMENT "出生日期",
  11. `identity` varchar(500) NULL COMMENT "患者身份",
  12. `mobile` varchar(500) NULL COMMENT "患者手机号",
  13. `source1` varchar(10000) NULL COMMENT "患者来源1",
  14. `source2` varchar(10000) NULL COMMENT "患者来源2",
  15. `tag_list` varchar(10000) NULL COMMENT "标签列表",
  16. `patient_type` varchar(500) NULL COMMENT "客户类型",
  17. `visit_type` tinyint NULL COMMENT "接诊类型 1初诊2复诊3预约4复查",
  18. `r_sph` varchar(500) NULL COMMENT "右眼球镜",
  19. `l_sph` varchar(500) NULL COMMENT "左眼球镜",
  20. `r_nakesight` varchar(500) NULL COMMENT "右眼远视力",
  21. `l_nakesight` varchar(500) NULL COMMENT "左眼远视力",
  22. `org_id` int NULL COMMENT "诊所ID",
  23. `org_name` varchar(500) NULL COMMENT "诊所名称",
  24. `appoint_time` datetime NULL COMMENT "预约时间",
  25. `add_user` varchar(500) NULL COMMENT "预约创建人",
  26. `group_id` int NULL COMMENT "集团ID",
  27. `group_name` varchar(500) NULL COMMENT "集团名称",
  28. `matter` varchar(10000) NULL COMMENT "预约就诊事项",
  29. `accept_doctor_id` int NULL COMMENT "接诊医生ID",
  30. `accept_doctor_name` varchar(500) NULL COMMENT "接诊医生",
  31. `accept_optometrist_id` int NULL COMMENT "接诊视光师ID",
  32. `accept_optometrist_name` varchar(500) NULL COMMENT "接诊视光师",
  33. `accept_assistant_id` int NULL COMMENT "医生助理ID",
  34. `accept_assistant_name` varchar(500) NULL COMMENT "医生助理",
  35. `manager_id` int NULL COMMENT "专属助理ID",
  36. `manager_name` varchar(500) NULL COMMENT "专属助理",
  37. `manager_qywx_id` varchar(500) NULL COMMENT "专属助理企微ID",
  38. `manager_mobile` varchar(500) NULL COMMENT "专属助理手机号",
  39. `optometrist_id` int NULL COMMENT "专属视光师ID",
  40. `optometrist_name` varchar(500) NULL COMMENT "专属视光师",
  41. `optometrist_qywx_id` varchar(500) NULL COMMENT "专属视光师企微ID",
  42. `optometrist_mobile` varchar(500) NULL COMMENT "专属视光师手机号",
  43. `this_come_number` int NULL COMMENT "当前就诊次数",
  44. `inviter` varchar(500) NULL COMMENT "推荐人",
  45. `inviter_phone` varchar(500) NULL COMMENT "推荐人手机号",
  46. `channel` varchar(500) NULL COMMENT "渠道",
  47. `collect_date` date NULL COMMENT "收集日期",
  48. `activity_location` varchar(10000) NULL COMMENT "收集点位",
  49. `extension_user` varchar(500) NULL COMMENT "推广人员",
  50. `extension_user_mobile` varchar(500) NULL COMMENT "推广人员手机号",
  51. `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT "创建时间",
  52. INDEX idx_patientId (`patientId`) USING INVERTED,
  53. INDEX idx_mobile (`mobile`) USING INVERTED,
  54. INDEX idx_come_time (`come_time`) USING INVERTED,
  55. INDEX idx_org_id (`org_id`) USING INVERTED
  56. ) ENGINE=OLAP
  57. UNIQUE KEY(`id`, `come_time`)
  58. COMMENT '诊所日志宽表'
  59. AUTO PARTITION BY RANGE (date_trunc(`come_time`, 'month'))
  60. ()
  61. DISTRIBUTED BY HASH(`id`) BUCKETS 32
  62. PROPERTIES (
  63. "replication_allocation" = "tag.location.default: 1",
  64. "min_load_replica_num" = "-1",
  65. "is_being_synced" = "false",
  66. "storage_medium" = "hdd",
  67. "storage_format" = "V2",
  68. "inverted_index_storage_format" = "V3",
  69. "enable_unique_key_merge_on_write" = "true",
  70. "light_schema_change" = "true",
  71. "disable_auto_compaction" = "false",
  72. "enable_single_replica_compaction" = "false",
  73. "group_commit_interval_ms" = "10000",
  74. "group_commit_data_bytes" = "134217728",
  75. "enable_mow_light_delete" = "false"
  76. );
  77. -- 2. 重建患者消费统计宽表 (fact_patientconsumption)
  78. DROP TABLE IF EXISTS `fact_patientconsumption`;
  79. CREATE TABLE `fact_patientconsumption` (
  80. `id` bigint NOT NULL AUTO_INCREMENT(1) COMMENT "自增ID",
  81. `pay_date` date NOT NULL COMMENT "收费日期",
  82. `clinic_id` bigint NOT NULL COMMENT "挂号ID",
  83. `patientId` varchar(500) NULL COMMENT "病例号",
  84. `patient_name` varchar(5000) NULL COMMENT "姓名",
  85. `mobile` varchar(500) NULL COMMENT "手机号",
  86. `sex` tinyint NULL COMMENT "性别 1男2女",
  87. `birthday` date NULL COMMENT "出生日期",
  88. `identity` varchar(500) NULL COMMENT "身份",
  89. `come_number` int NULL COMMENT "到诊次数 1新客户>1老客户",
  90. `inviter_name` varchar(500) NULL COMMENT "推荐人",
  91. `come_time` datetime NULL COMMENT "就诊时间",
  92. `come_date` date NULL COMMENT "就诊日期",
  93. `type` tinyint NULL COMMENT "就诊类型 1初诊2复诊3预约4复查",
  94. `matter` varchar(10000) NULL COMMENT "就诊事项",
  95. `org_id` int NULL COMMENT "诊所ID",
  96. `org_name` varchar(500) NULL COMMENT "诊所名称",
  97. `group_id` int NULL COMMENT "集团ID",
  98. `group_name` varchar(500) NULL COMMENT "集团名称",
  99. `apt_doctor_id` int NULL COMMENT "预约医生ID",
  100. `apt_doctor_name` varchar(500) NULL COMMENT "预约医生",
  101. `apt_optometrist_id` int NULL COMMENT "预约视光师ID",
  102. `apt_optometrist_name` varchar(500) NULL COMMENT "预约视光师",
  103. `act_doctor_id` int NULL COMMENT "接诊医生ID",
  104. `act_doctor_name` varchar(500) NULL COMMENT "接诊医生",
  105. `act_optometrist_id` int NULL COMMENT "接诊视光师ID",
  106. `act_optometrist_name` varchar(500) NULL COMMENT "接诊视光师",
  107. `act_assistant_name` varchar(500) NULL COMMENT "接诊医助",
  108. `source1` varchar(10000) NULL COMMENT "来源1",
  109. `source2` varchar(10000) NULL COMMENT "来源2",
  110. `manager_id` int NULL COMMENT "专属医助ID",
  111. `manager_name` varchar(500) NULL COMMENT "专属医助",
  112. `manager_qywx_id` varchar(500) NULL COMMENT "专属医助企微ID",
  113. `manager_mobile` varchar(500) NULL COMMENT "专属医助手机号",
  114. `optometrist_id` int NULL COMMENT "专属视光师ID",
  115. `optometrist_name` varchar(500) NULL COMMENT "专属视光师",
  116. `optometrist_qywx_id` varchar(500) NULL COMMENT "专属视光师企微ID",
  117. `optometrist_mobile` varchar(500) NULL COMMENT "专属视光师手机号",
  118. `first_opt_name` varchar(500) NULL COMMENT "首诊视光师",
  119. `first_accept_date` date NULL COMMENT "首次接诊日期",
  120. `r_sph` varchar(500) NULL COMMENT "右眼球镜",
  121. `l_sph` varchar(500) NULL COMMENT "左眼球镜",
  122. `r_nakeye` varchar(500) NULL COMMENT "右眼裸眼视力",
  123. `l_nakeye` varchar(500) NULL COMMENT "左眼裸眼视力",
  124. `al_od` varchar(500) NULL COMMENT "右眼眼轴",
  125. `al_os` varchar(500) NULL COMMENT "左眼眼轴",
  126. `not_transaction_reason` varchar(10000) NULL COMMENT "未成交原因",
  127. `total_amt` decimal(15,2) NULL DEFAULT "0" COMMENT "金额合计",
  128. `pay_time` datetime NULL COMMENT "收费时间",
  129. `by_user_id` int NULL COMMENT "收银员ID",
  130. `by_user_name` varchar(500) NULL COMMENT "收银员",
  131. `coupon_name` varchar(10000) NULL COMMENT "优惠券",
  132. `add_manager` varchar(10) NULL COMMENT "加客户经理好友",
  133. `sign_wxapp` varchar(10) NULL COMMENT "注册小程序",
  134. `collect_date` date NULL COMMENT "收集日期",
  135. `activity_location` varchar(10000) NULL COMMENT "活动地点",
  136. `extension_user_id` int NULL COMMENT "推广专员ID",
  137. `extension_user_name` varchar(500) NULL COMMENT "推广专员",
  138. `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT "创建时间",
  139. INDEX idx_mobile (`mobile`) USING INVERTED,
  140. INDEX idx_patient_id (`patientId`) USING INVERTED,
  141. INDEX idx_org_id (`org_id`) USING INVERTED,
  142. INDEX idx_come_time (`come_time`) USING INVERTED,
  143. INDEX idx_pay_date (`pay_date`) USING INVERTED
  144. ) ENGINE=OLAP
  145. UNIQUE KEY(`id`, `pay_date`)
  146. COMMENT '患者消费统计宽表'
  147. AUTO PARTITION BY RANGE (date_trunc(`pay_date`, 'month'))
  148. ()
  149. DISTRIBUTED BY HASH(`id`) BUCKETS 32
  150. PROPERTIES (
  151. "replication_allocation" = "tag.location.default: 1",
  152. "min_load_replica_num" = "-1",
  153. "is_being_synced" = "false",
  154. "storage_medium" = "hdd",
  155. "storage_format" = "V2",
  156. "inverted_index_storage_format" = "V3",
  157. "enable_unique_key_merge_on_write" = "true",
  158. "light_schema_change" = "true",
  159. "disable_auto_compaction" = "false",
  160. "enable_single_replica_compaction" = "false",
  161. "group_commit_interval_ms" = "10000",
  162. "group_commit_data_bytes" = "134217728",
  163. "enable_mow_light_delete" = "false"
  164. );