MySql单表过大水平分表实践从技术选型到方案代码落地

大家好,今天小编来为大家解答mysql表太大怎么解决这个问题,MySQL单表不建议过大很多人还不知道,现在让我们一起来看看吧!

本文目录

  1. mysql表太大怎么解决
  2. MYSQL数据库过大,无法导入怎么办
  3. MySQL数据太大怎么办
  4. mysql 表数据太大怎么删掉

mysql表太大怎么解决

解决方法如下:

第一优化你的sql和索引;

第二加缓存,memcached,redis;

第三以上都做了后,还是慢,就做主从复制或主主复制,读写分离,可以在应用层做,效率高,也可以用三方工具,第三方工具推荐360的atlas,其它的要么效率不高,要么没人维护;

第四如果以上都做了还是慢,不要想着去做切分,mysql自带分区表,先试试这个,对你的应用是透明的,无需更改代码,但是sql语句是需要针对分区表做优化的,sql条件中要带上分区条件的列,从而使查询定位到少量的分区上,否则就会扫描全部分区,另外分区表还有一些坑,在这里就不多说了;

第五如果以上都做了,那就先做垂直拆分,其实就是根据你模块的耦合度,将一个大的系统分为多个小的系统,也就是分布式系统;

第六才是水平切分,针对数据量大的表,这一步最麻烦,最能考验技术水平,要选择一个合理的shardingkey,为了有好的查询效率,表结构也要改动,做一定的冗余,应用也要改,sql中尽量带shardingkey,将数据定位到限定的表上去查,而不是扫描全部的表;

MYSQL数据库过大,无法导入怎么办

你说的是通过sql导入吧!一般由下面几种方法:

1、修改服务器上传文件限制,一般默认是2M2、直接把mysq/data下的文件拷到服务器上相应的地方3、分割sql文件,分批执行

MySQL数据太大怎么办

数据太大,可以尝试最原始的方法,也就是分库分表,把数据集分别储存在不同的库以及不同的表中,这样可以缓解服务器的压力。

mysql 表数据太大怎么删掉

操作步骤

1、创建硬连接指向要删除表的ibd文件

ln/data/mysql/mytest/erp.ibd/data/mysql/mytest/erp.ibd.hdlk

2、使用DELETE删除表

DROPTABLEmytest.erp;

3、使用truncate命令小批量删除文件,最后用rm删除整个文件

##seq2194-1010表示:从2194开始循环,每次递减10,直到循环至10

关于mysql表太大怎么解决,MySQL单表不建议过大的介绍到此结束,希望对大家有所帮助。

Mysql单表太大,性能受影响求指点