mysql如何实现水平分表

mysql如何实现水平分表?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

mysql表数据一般达到百万级别,查询效率会很低,容易造成表锁,甚至堆积很多连接,直接挂掉,水平分表能够很大程度减少这些压力。

<强>水平分表:

 mysql如何实现水平分表

如上图所示:另外三张表表结构是一样的,只不过把数据进行分别存放在这三张表中,如果要插入或者查询那么都需要对身份证进行取余然后表名进行拼接,那么就是一张完整的table_name

但是如果我需要对名字进行分表呢或者对电子邮件呢?

那么就需要用MD5进行加密因为MD5加密后是16进制,那么就就可以进行取余,思路同上。

根据一列或多列数据的值把数据行放到两个独立的表中。

<强>水平分割通常在下面的情况下使用。

表很大,分割后可以降低在查询时需要读的数据和索引的页数,同时也降低了索引的层数,提高查询速度。

表中的数据本来就有独立性,例如表中分别记录各个地区的数据或不同时期的数据,特别是有些数据常用,而另外一些数据不常用。

感谢各位的阅读!看完上述内容,你们对mysql如何实现水平分表大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注行业资讯频道。

mysql如何实现水平分表