文章详情页
mysql - 查询 修改数据库优化问题吧
问题描述
我有一张表 有几十万个数据 每次触发某个事件的话 都会对所以表进行查询 符合条件的话(大部分都会符合) 对表数据的某个字段进行修改(修改的数据每个都不一样) 请问怎么做效率最高 因为是新手 不是很懂 非常感谢
问题解答
回答1:第一有查詢,所以查詢的條件必須讓建立的索引起效。第二批量的修改,,修改索引必須起效。但假如絕大部分的數據符合你這樣的條件時候,索引比較容易失效,所以建議可以獲取所有符合的id值,跟個通過id值去更新數據
回答2:如果一个事件会引起几十万条 UPDATE 的话:
检查是否设计有问题;
如果设计是正确的,尝试增加 redis 等缓存层,再使用消息队列等异步方法去更新数据库表;
相关文章:
1. nignx - docker内nginx 80端口被占用2. docker - 如何修改运行中容器的配置3. docker - 各位电脑上有多少个容器啊?容器一多,自己都搞混了,咋办呢?4. 关docker hub上有些镜像的tag被标记““This image has vulnerabilities””5. dockerfile - 我用docker build的时候出现下边问题 麻烦帮我看一下6. linux - CentOS安装java环境报错,rpm包安装不成功?7. docker不显示端口映射呢?8. 网页爬虫 - python爬虫翻页问题,请问各位大神我这段代码怎样翻页,还有价格要登陆后才能看到,应该怎么解决9. angular.js使用$resource服务把数据存入mongodb的问题。10. mac连接阿里云docker集群,已经卡了2天了,求问?
排行榜