首页  >  问答  >  正文

mysql - 查询 修改数据库优化问题吧

我有一张表 有几十万个数据 每次触发某个事件的话 都会对所以表进行查询 符合条件的话(大部分都会符合) 对表数据的某个字段进行修改(修改的数据每个都不一样) 请问怎么做效率最高 因为是新手 不是很懂 非常感谢

漂亮男人漂亮男人2733 天前681

全部回复(2)我来回复

  • 黄舟

    黄舟2017-05-18 10:48:43

    第一有查询,所以查询的条件必须让建立的索引起效。
    第二批量的修改,,修改索引必须起效。但假如绝大部分的数据符合你这样的条件时候,索引比较容易失效,所以建议可以获取所有符合的id值,跟个通过id值去更新数据

    回复
    0
  • 怪我咯

    怪我咯2017-05-18 10:48:43

    如果一个事件会引起几十万条 UPDATE 的话:

    1. 检查是否设计有问题;

    2. 如果设计是正确的,尝试增加 redis 等缓存层,再使用消息队列等异步方法去更新数据库表;

    回复
    1
  • 取消回复