mysql 分表
分区分表:
1、分表、
水平分割;
就是把一张大表分割多张结构一样的小表。要使用水平分割要要考分表的一个算法问题。
创建三张表:
把一个用户表分成3个小表。要完成一个用户注册页面,把数据存储到某个表里面。进行算法设计。
思路:要确定注册的用户如何存储,是存储到哪张表里面。
(1)创建一张表,该表只有一个字段,用于存储id的。
如果要完成用户的登录,如果去做,如果使用id来完成登录,则比较简单,
如果要用name登录,则需要有一个id和name的关系,更加输入的用户名,找出id,再根据id查找所在的表。需要建表存储id和name的关系,也可以使用我们后面的学的nosql(redis/mongodb)数据库来存储id和name的对应关系。
如何把一个字符串转换成一个整数
先通过md5加密,转换成16进制的数,再通过hexdec转换成一个10进制的数。
垂直分割:
典型用法:把一张表,经常查询的字段,分割成一张表,查询不是很频繁的字段分割成一张表。
内容主表和附加表的用法。
比如要设计存储数据的表。
存储的数据有:
图片数据
音乐数据
电影数据
商品数据
比如图片数据,有名称,有添加 时间,音乐数据有名称,也有添加时间,等等。可以把他们的一些公共的字段单独拿出来形成一张表。各自的独有的信息,分别形成各自的附加表。