Maison  >  Questions et réponses  >  le corps du texte

mysql - 如果单表的数据达到300万,是否考虑分表?

数据在mysql中,大约10个字段,预计达到300万条。

网站注册时需要在这300万条记录中找到相匹配的;

如何做到优化?

请教

阿神阿神2743 Il y a quelques jours736

répondre à tous(9)je répondrai

  • 伊谢尔伦

    伊谢尔伦2017-04-17 12:04:41

    500W分表,已经到300W了,应该储备知识,做好分表打算了。

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-17 12:04:41

    不考虑硬件、业务、数据库参数与表结构设计等,直接按数据量来衡量是否要分表,不是扯蛋么。

    1. FIO、SSD、HDD。。。
    2. 简单查询、复杂查询。。。
    3. 索引优化、缓存技术。。。

    répondre
    0
  • PHPz

    PHPz2017-04-17 12:04:41

    索引处理好,不至于要分表

    répondre
    0
  • 巴扎黑

    巴扎黑2017-04-17 12:04:41

    mysql单表达到1000W到2000W的时候还能提供较好的服务,目前线上有一张表1000W多点,还没有出现性能问题,多张表在几百万的数据,开始考虑分表了,如果表比较简单,索引合理的话300W完全不需要分表,记得DBA说过mysql单表超过5千万还是6千万还是几千万来着性能会下降的比较厉害,所以没达到千万级别还不需要考虑分表的事

    répondre
    0
  • 大家讲道理

    大家讲道理2017-04-17 12:04:41

    网站注册时需要在这300万条记录中找到相匹配的;

    你要想的是现在就模拟这种情况的去看db的性能,优化好索引和你的实现,分表在这个数据量上还不需要。

    répondre
    0
  • 阿神

    阿神2017-04-17 12:04:41

    @gongweixin ,您说的没错,理论上确实5000万以上才会性能急剧下降,有些db架构师也是这么说过。但是实际情况却不一定,按照一部分的真实项目,500万以上就会开始慢了。当然,这个跟具体的业务逻辑、响应要求、表设计也是很有关系的。表字段全是int类型的,可以到1000万以上再优化。
    @Mr_Jing 说的对,到了300万,是时候作好优化的技术储备了。但是不一定分表,可以通过缓存、搜索引擎等技术也都可以提高性能。
    具体什么时候优化,还是得看你系统监控的情况。
    也可以看看我这篇文章:mysql方案

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 12:04:41

    看你的业务情况 查询语句
    如果都是命中索引的查询还是不需要分表的

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-17 12:04:41

    找好分表的准备,数据多了性能是个问题哦。。

    répondre
    0
  • 黄舟

    黄舟2017-04-17 12:04:41

    再加两个0的时候考虑

    répondre
    0
  • Annulerrépondre