明辉站/应用软件/内容

说明几种Mysql多字段大表的优化方法

应用软件2023-08-30 阅读
[摘要]有一个大数据表,有30个字段,int varchar text 字段都有,1000W+数据,每天都会增加,经常搜索的字段有10个,这个怎么优化?请教了一个人,才得到差不多的答案,感觉这种问题有点假,现实中基本不会出这种问题吧?优化方案:主从同步+读写分离:这个表在有设备条件的情况下,读写分离,这...
有一个大数据表,有30个字段,int varchar text 字段都有,1000W+数据,每天都会增加,经常搜索的字段有10个,这个怎么优化?

请教了一个人,才得到差不多的答案,感觉这种问题有点假,现实中基本不会出这种问题吧?

优化方案:
主从同步+读写分离:
这个表在有设备条件的情况下,读写分离,这样能减少很多压力,而且数据稳定性也能提高

纵向分表:
根据原则,每个表最多不要超过5个索引,纵向拆分字段,将部分字段拆到一个新表

通常我们按以下原则进行垂直拆分:(先区分这个表中的冷热数据字段)
把不常用的字段单独放在一张表;
textblob等大字段拆分出来放在附表中;
经常组合查询的列放在一张表中;

缺点是:很多逻辑需要重写,带来很大的工作量。

利用表分区:
这个是推荐的一个解决方案,不会带来重写逻辑等,可以根据时间来进行表分区,相当于在同一个磁盘上,表的数据存在不同的文件夹内,能够极大的提高查询速度。

横向分表:
1000W条数据不少的,会带来一些运维压力,备份的时候,单表备份所需时间会很长,所以可以根据服务器硬件条件进行水平分表,每个表有多少数据为准。

有不好的地方,请指点一下,谢谢。

以上就是介绍几种Mysql多字段大表的优化方法的详细内容,更多请关注php中文网其它相关文章!


学习教程快速掌握从入门到精通的SQL知识。

……

相关阅读