sql - 触发大量数据
问题描述
我有一张随时记录大量信息的表,例如每秒 100 行。
完成每一行后,必须执行某些操作。也就是说,这些行中的一些应该被复制到另一个表中。
现在有几个问题:
我可以使用触发器来执行此操作吗?考虑到大量的条目行
如果检查多个条件以复制到表中,触发器可以响应吗?
附加说明:添加到此表的记录是指纹记录器添加的
解决方案
首先,检查这些:
1.参考定义你的触发器,它可以在插入或更新等中调用,不需要对所有操作执行(不是所有插入都需要)
2.您可以通过更改您的应用程序的一些规则来忘记您的业务
- 每次改动都需要注意(防止引入bug)
4....
我强烈建议您不要定义触发器,除非您没有任何其他选择。
如果您有一个应用程序,您可以在其中完成并放置业务(例如,在您的应用程序中创建一个线程来检查和执行您的业务)
你可以有一个 Windows 服务来为你做这件事
如果您只有数据库访问权限,您可以在其中定义一个工作来为您完成(不推荐)
最后,如果您决定使用多线程来避免阻塞(根据您的问题,第二个线程仅用于从原始表中读取数据并插入到另一个表中),您可以在数据库中打开 is_read_committed_snapshot_on
推荐阅读
- javascript - 如何在 React 组件中使用 pickr 颜色选择器 vanilla JS 库?
- javascript - 使用 Cheerio 抓取多个网页
- javascript - 我应该如何处理两个函数“ui.resizable”和“css.rotate”的问题?
- mysql - mysql cte . 使用 with 和 insert it 会提示语法错误
- c - C字符串取消引用然后重新引用行为奇怪?
- django - 如何过滤多对多模型?
- python - 在 unix 机器中运行以下代码的问题,但相同的代码在运行 Windows 时工作正常
- java - 休眠条件查询,仅过滤子类权利
- rust - maxminddb-rust,获取特定语言的国家/地区值
- odoo - 跟踪可见性不支持odoo 12中的字段many2many