w*******7 发帖数: 188 | 1 【 以下文字转载自 Database 讨论区 】
发信人: wagner167 (wagner167), 信区: Database
标 题: sql数据库实时更新问题
发信站: BBS 未名空间站 (Wed Feb 3 16:55:20 2016, 美东)
电面被问到如果有个表有500million 记录,创建了一个sql statement 删除duplicate
记录,数据库实时连到前端,没法停.
运行这个statement应该注意什么?怎么做? |
w********m 发帖数: 1137 | 2 读写锁,正在读的没法删。
拷贝一个新表。删掉重复。
接回去。 |
n*****t 发帖数: 22014 | 3 过程中有新记录怎么办?
有的数据库实现,正在读的记录是可以删除的,只不过在读完之后。
【在 w********m 的大作中提到】 : 读写锁,正在读的没法删。 : 拷贝一个新表。删掉重复。 : 接回去。
|
d******e 发帖数: 2265 | 4 1. row locking
2.use WAL
3. crqs
duplicate
【在 w*******7 的大作中提到】 : 【 以下文字转载自 Database 讨论区 】 : 发信人: wagner167 (wagner167), 信区: Database : 标 题: sql数据库实时更新问题 : 发信站: BBS 未名空间站 (Wed Feb 3 16:55:20 2016, 美东) : 电面被问到如果有个表有500million 记录,创建了一个sql statement 删除duplicate : 记录,数据库实时连到前端,没法停. : 运行这个statement应该注意什么?怎么做?
|
d******e 发帖数: 2265 | 5 4.优化 resultset
【在 d******e 的大作中提到】 : 1. row locking : 2.use WAL : 3. crqs : : duplicate
|
r***o 发帖数: 1526 | |
s********r 发帖数: 394 | 7 先让他定义duplicate,感觉不一定是问你实时的问题,更可能是foreign constraints
之类的
duplicate
★ 发自iPhone App: ChineseWeb 8.7
【在 w*******7 的大作中提到】 : 【 以下文字转载自 Database 讨论区 】 : 发信人: wagner167 (wagner167), 信区: Database : 标 题: sql数据库实时更新问题 : 发信站: BBS 未名空间站 (Wed Feb 3 16:55:20 2016, 美东) : 电面被问到如果有个表有500million 记录,创建了一个sql statement 删除duplicate : 记录,数据库实时连到前端,没法停. : 运行这个statement应该注意什么?怎么做?
|
h**********c 发帖数: 4120 | 8 点解一下为什么这个题答问看起来都很嫩
以至于大家都懒得来回答。
首先,按我老当年学dbase iii的基本教学内容,相当篇幅就是讲避免把单个表单或库
做大。你说你有个几十万条计录,老师肯定给你不及格。说明你的数据库他白教了。
就算是db2,peopelsoft的时代,写个脚本跑两个晚上,几million的记录也能生成,海
量数据并不是互联网,还有现在所谓的大数据的新问题。从来人类获得的信息要超出人
类的存储能力,那么处理这些信息就需要逻辑上的优化,抽象。
比如一个学校的学生,避免把库搞大,可以分热能与环境工程,采矿系等,纵向分88级
,92级...。到了2012年,可以把88,90的备份到磁带上,把数据库的体积缩小。需要
时可从备份恢复。
所以几个million的数据库,几个zillion的数据库不是一个很N的事情,相反设计这种
系统的都是.............。最基本对问题横向纵向简化的能力都没有。这些问题也不
是什么新问题,而是db2,peopelsoft时代就有,贯穿整个数据库研究和教学都要强调注
意的问题。That is repeating other people's grandpas' problems. Most Chinese
oversea grandparents back years are peasants.
对于这个问题,觉得一个一个系统烂调了,没别的办法,只能是备份删掉,全部人工甄
别处理。这又涉及对事物本质的另一个认识,世界上绝对多数的物理过程是不可逆的。
很vacuous的设计与实现,注定是laxigile*.
* 电影 a million ways to die in the west.
duplicate
【在 w*******7 的大作中提到】 : 【 以下文字转载自 Database 讨论区 】 : 发信人: wagner167 (wagner167), 信区: Database : 标 题: sql数据库实时更新问题 : 发信站: BBS 未名空间站 (Wed Feb 3 16:55:20 2016, 美东) : 电面被问到如果有个表有500million 记录,创建了一个sql statement 删除duplicate : 记录,数据库实时连到前端,没法停. : 运行这个statement应该注意什么?怎么做?
|