MySQL
攻城的蒂巴格
这个作者很懒,什么都没留下…
展开
-
MySQL分表与分区的区别
为什么要分表和分区?日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表。这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能会更加糟糕。分表和表分区的目的就是减少数据库的负担,提高数据库的效率,通常点来讲就是提高表的增删改查效率。什么是分表?分表是将一个大表按照一定的规则分解成多张具有独立存储空间的实转载 2016-08-05 10:17:44 · 591 阅读 · 0 评论 -
MySQL表分区(1)范围分区-range
创建表分区create table teacher (id varchar(20) not null , name varchar(20), age varchar(20), birthdate date not null, salary int )--创建分区语法partition by range(year(birthdate))(原创 2016-08-05 12:10:22 · 1375 阅读 · 0 评论 -
MySQL表分区(2)列表分区-list
list列表分区和range分区应该说都是一样的,不同的是range分区在分区时的依据是一段连续的区间,而list分区时依据是一组分布的散列值。创建表分区create table student (id varchar(20) not null , studentno int(20) not null, name varchar(20), age varchar(2原创 2016-08-05 15:05:12 · 1192 阅读 · 0 评论 -
MySQL表分区(4)key分区-key
类似于按HASH分区,区别在于KEY分区只支持计算一列或多列,且MySQL服务器提供其自身的哈希函数。必须有一列或多列包含整数值。create table role( id int(20) not null,name varchar(20) not null)partition by linear key(id)partitions 10;原创 2016-08-05 15:10:08 · 1818 阅读 · 0 评论 -
MySQL表分区(3)哈希分区-hash
哈希分区。哈希分区主要是依据表的某个字段以及指定分区的数量。create table user ( id int(20) not null, role varchar(20) not null, description varchar(50) )partition by hash(id) partitions 10;如上创建user表,并将user表平均分为十原创 2016-08-05 15:08:37 · 6153 阅读 · 0 评论 -
如何解决mysql读写效率
12321转载 2016-08-05 10:52:05 · 2705 阅读 · 0 评论 -
如何设计一张千万级别的大表
1、数据的容量:1-3年内会大概多少条数据,每条数据大概多少字节; 2、数据项:是否有大字段,那些字段的值是否经常被更新; 3、数据查询SQL条件:哪些数据项的列名称经常出现在WHERE、GROUP BY、ORDER BY子句中等; 4、数据更新类SQL条件:有多少列经常出现UPDATE或DELETE 的WHERE子句中; 5、SQL量的统计比,如:SELECT:UPDATE+DE原创 2016-08-08 11:10:37 · 4086 阅读 · 0 评论