试题二(15分)
阅读以下说明,回答问题1至问题3。
【说明】
某医院开发电子病历系统,需要存储患者信息、就诊记录、处方信息、检查报告等数据。系统要求:支持多科室并发访问、数据需要长期保存、支持历史病历查询、系统7×24小时运行。
数据库设计如下:
患者(患者ID,姓名,性别,出生日期,联系电话,身份证号)
科室(科室ID,科室名称,位置,负责人)
医生(医生ID,姓名,职称,科室ID,联系方式)
就诊记录(就诊ID,患者ID,医生ID,科室ID,就诊时间,主诉,诊断结果)
处方(处方ID,就诊ID,药品名称,规格,数量,用法用量)
【问题3】(5分)医院系统要求支持历史病历快速查询,且数据量逐年增长。请说明可以采用哪些数据库优化技术来提高查询性能。
参考答案数据库优化技术:
1. 建立索引:在患者ID、就诊时间、医生ID等查询频繁的字段建立索引。
2. 表分区:按时间对就诊记录表进行水平分区,历史数据单独存放。
3. 读写分离:主库负责写入,从库负责查询,减轻主库压力。
4. 数据归档:将超过一定年限的历史病历归档到历史库,减小在线库规模。
5. 物化视图:对常用统计查询建立物化视图,预计算结果。
6. 优化SQL:避免全表扫描,减少子查询,合理使用连接。