数据库如何快速比对 相同的纪录,前提是纪录大于10万条

数据库如何快速比对 相同的纪录,前提是纪录大于10万条,第1张

第一种方法(穷举法)void findSame(Type A[], TypeB[], Type C[]){//设数组C = A + B(当然C没必要)for(int i = 0i <C.size()++i){for(int j = i + 1j <C.size()++j) { compare() } } 时间复杂度:n^2(n^2/2 - n /2)}第二种方法void findSame(Type A[], Type B[], Type C[]){ sort(A) sort(B) for(int i = 0i <A.size()++i) { //先在已排序的A中找相同记录(略) //再在已排序的B中找相同记录(二分查找) } 时间复杂度nlogn(mlogm + nlogn + m + mlogn)应该比在一个数组中快,在一个数组时间复杂度:(m + n)logn + (m + n) 那为了更快,可再划分更多的小数组,使得排序的时间降下来}

例如:学生的数据库,一个老师教一个班

学生表里面有个教师ID字段,这个字段和老师表的教师ID字段就是多对一的关系,反过来就是一对多的关系,

Access:在有这两个表的数据库中,点击工具栏上的关系按钮,把老师表的教师ID字段拖拽到学生表的教师ID字段,并选择“实施参照完整性”这样关系就建立完成了。在老师表教师ID字段旁边会出现1,学生表教师ID字段旁边会出现无穷大,表示一对多关系

rails 有 migrate 工具,所有数据库更改都会记录在 migration中, 可以很方便的进行数据库结构的改变。

不知道你是做什么开发的。但应该也有相类似的工具。当然,你可以用rails的migrate工具进行数据库的更改。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9897775.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存