我在管理医生办公室的Windows上制作了一个带有QT c ++的应用程序 它使用XML作为存储形式,将其决定为3个XML文件 用于速度搜索的索引文件 患者文件包含患者详细信息 访问包含每个访问详细信息的文件??? 有很多I / O. 所以我需要迁移到SQL db ...我以前从未使用过它 但为了性能,我想从XML迁移:) 是否可以创建一个包含所有患者的表并将一行与另一个表链接?所以我可以从患者数据转移到访问同一患者的数据 与我的划分方法相比,它真的能加快速度 谢谢
答案 0 :(得分:0)
"是否可以创建一个包含所有患者的表并将一行与另一个表相关联? "
是。这就是关系(SQL)数据库擅长的。在SQL语言中,这称为连接。这是SQL中的简单连接:
select name, appointmentdate from patients, appointments
where name = 'John Smith' and
patients.patientid = appointments.patientid
两个表的连接在最后一行完成。
当存在大量数据时,这通常比XML文件实现更快。如果数据很小并且保存在内存中,XML将获胜。
基于SQL的数据库系统制造商花费大量时间和精力优化搜索和过滤算法,以使其数据库快速运行。你可以使用这一切。