数据库分表分区
概念 分表:分表就是将一张表分成N张小表, 分区:就是将一张表的数据分成N个区块,这些区块可以放在一个磁盘上.一张表主要对应三个文件: frm:存放表结构 myd:存放表数据 myi:存放索引的 如果一张表数据量太大了的话,那么myd 和 myi 就会变的很大,那么我们在查询数据的时候就会很慢,所以这个时候我们就可对其进行表,在物理上将这一张表对应的三个文件,分割成多个小块,这时在查询某一条数据的时候,不用查找全部的数据,只用找到这条数据在哪儿一块儿,然后找到对应的那一块儿就行了.如果一张表的数据太大,可能一个磁盘放不下,这个时候,我们就可以把数据分配到不同的磁盘里面去了. 如何分表 分表的方式有两种: 水平分割(横向分割) 就是横着来分区,比如有100w条数据,分成10份,每一份存放在一个区,而每一区中都包含分区之前表中的所有字段. 垂直分割(纵向分割) 就是竖着来分区了.出现这种情况的原因很多时候是因位数据表在前期设计的时候每有考虑好,导致了这张表中的字段太多了.有些字段可以不经常用也放在一张表中,所有我们可以将这些字段分开来. 数据方面 分表后,数据都存放在分表中,以前的表就是一空壳,村塾数据发生在一个一个分表中, 分区后,没有分表的概念,分区只是包存放数据的文件分成了许多小块,分区之后的表还是一张表. 意义–提高性能 分表:单表并发能力提高了,因为查询一次的所用时间缩短了