当前位置: 首页 > wzjs >正文

嘉兴制作企业网站句容市网站seo优化排名

嘉兴制作企业网站,句容市网站seo优化排名,高明网站建设首选公司,网站制作简单模版本文简述了mysql表分区的作用和特点,又演示了mysql表分区的创建过程,详细演示了指定不同分区目录时的处理办法。由于表分区对crud操作是透明的,对于普通开发同学其实不用过多关注,但是本着学习的态度,在分库分表等高大…

本文简述了mysql表分区的作用和特点,又演示了mysql表分区的创建过程,详细演示了指定不同分区目录时的处理办法。由于表分区对crud操作是透明的,对于普通开发同学其实不用过多关注,但是本着学习的态度,在分库分表等高大上的技术面前,mysql分区技术依然是一个不可或缺的提升数据库读写能力的关键技术。

1、mysql分区的简单介绍

mysql分区就是将表的数据按照特定规则存放在不同的区域,也就是将表的数据文件分割成多个小块,在查询数据的时候,只要知道数据数据存储在哪些区域,然后直接在对应的区域进行查询,不需要对表数据进行全部的查询,提高查询的性能。同时,如果表数据特别大,一个磁盘磁盘放不下时,我们也可以将数据分配到不同的磁盘去,解决存储瓶颈的问题,利用多个磁盘,也能够提高磁盘的IO效率,提高数据库的性能。

1.1、mysql表分区的特点

  • 物理存储与逻辑分割:逻辑上数据的crud用户感觉不出表分区的存在,物理上数据按照分区键被分配到不同的分区里。
  • 查询性能提升:查询时,mysql能够确定读取那些分区的数据,不用全表扫描。
  • 数据管理与维护:分区可以独立备份、恢复,无需对整表操作。
  • 扩展性与并行处理:当表的大小超过单个存储设备的容量时,很容易扩展到多个存储设备。

1.2、分区的类型

  • RANGE:基于列的值范围将数据分配到不同的分区。比如可以根据日期范围将数据分配到不同的月份、年份的分区中。
  • LIST:基于列的离散值集合来分配数据的。对应的列的数据是一个类似枚举型的数据。
  • HASH:根据用户指定的列的hash值分配数据。
  • KEY:类似于HASH,但支持多列。

大家对先表分区有个认识后,下面咱们就开始实操一下。

2、操练

2.1、创建表分区

create table t_member(member_id int not null,member_name varchar(60),member_phone varchar(20),create_time datetime,update_time datetime
) PARTITION BY RANGE (YEAR(create_time)) (PARTITION P1 VALUES LESS THAN (2024),PARTITION P2 VALUES LESS THAN (2025),PARTITION P3 VALUES LESS THAN MAXVALUE );

不多解释了,sql语句还是比较容易理解。上面我创建了3个分区,咱们到服务器上看看数据文件,如下图:

在这里插入图片描述
目前是在一个目录中,如果你的系统有多个硬盘,把数据文件分别放在不同的硬盘上,那肯定会提高读写性能。下面咱们模拟一下过程。因为有些坑大家要避免

2.2、创建表分区,使用不同的数据目录

我们从一个简单的创建sql开始。

create table t_member32(member_id int not null,member_name varchar(60),member_phone varchar(20),create_time datetime,update_time datetime
) PARTITION BY RANGE (YEAR(create_time)) (PARTITION P1 VALUES LESS THAN (2024) DATA DIRECTORY = '/home/jackie',PARTITION P2 VALUES LESS THAN (2025) DATA DIRECTORY = '/mydata',PARTITION P3 VALUES LESS THAN MAXVALUE );

其实就是在刚才的sql的基础上(表名改了),为三个分区分配了三个不同的目录。p1、p2指定,p3明确指定存放目录,那就是保存在默认的目录里。

直接执行肯定会报错,因为p1、p2目录mysql不知道,要先让mysql知道这两个目录,也就是说不能随便指定一个操作系统的目录。下来咱们处理这个问题。

2.2.1 配置my.cnf

在my.cnf,找到“mysqld”段,加入下面配置(我就按上面sql写了):
在这里插入图片描述
注意:多个目录“;”号分割。保存后重启mysql,依然报错。还没完,咱们继续。

2.2.2 将目录的owner设置成mysql

管理员登录,设置/home/jackie和/mydata的owner。你的机器上要是还没有这两个目录就先新建一下。

chown mysql:mysql /home/jackie
chown mysql:mysql /mydata

此时还不行,执行刚才的sql语句时,会报存储引擎错误。

2.2.3、配置apparmor

apparmor是linux的一个安全组件,有兴趣大家去查查。咱们修改apparmor的配置:

sudo vim /etc/apparmor.d/usr.bin.mysqld

添加如下配置:

在这里插入图片描述
保存退出后,重新加载apparmor配置并重启,命令如下:

sudo systemctl reload apparmor.service 
sudo systemctl restart apparmor.service 

再次执行上面的创建语句,就能执行成功了。数据文件也按我们的规划放到了指定的区域。

在这里插入图片描述
这是/home/jackie目录的数据文件。其他的普通sql操作就不演示了,和普通表的操作一模一样。如果要在分区后继续新增分区、删除分区、合并分区大家可以看看mysql的文档,这里就不啰嗦了。

好了,大家试试,希望能在工作中对你有帮助。
//~~

http://www.dtcms.com/wzjs/446720.html

相关文章:

  • 在线视频链接生成器有实力的网站排名优化软件
  • 郑州市的实惠推广网站西安seo管理
  • 网站开发网成全视频免费观看在线看
  • 武汉网站策划公司太原免费网站建站模板
  • 柳州做网站的公司有哪些软件外包公司排行
  • 武汉做网站的培训机构明年2024年有疫情吗
  • 微网站排版百度竞价电话
  • 建网站的步骤和方法网站建设解决方案
  • 闲鱼网站建设厦门seo计费
  • 做的网站每年都要交费吗谷歌推广怎么做最有效
  • 精通网站建设惠城网站设计
  • 创新创业大赛项目计划书seo优化好做吗
  • 网站地图做几个深圳全网推广托管
  • 智联招聘网站怎么做两份简历独立站优化
  • 可信网站认证必须做北京网聘咨询有限公司
  • 做网站基本费用大概需要多少北京百度seo
  • 网站欢迎页代码手机百度网页版登录入口
  • 优惠券网站做代理怎么样黄山seo公司
  • 互联网网站建设计划书属于seo网站优化
  • 动态网站开发典型案例光盘电商运营工作内容
  • 新郑市网站建设南宁网络推广品牌
  • 做网站咋赚钱优化大师官网下载安装
  • 如何使用ftp上传网站平台连接
  • 团购网站怎么做上海网络关键词优化
  • wordpress安装卡住了seo海外
  • 河南做网站送记账网站seo优化总结
  • 广州网站的优化互联网广告
  • 网站制作网页设计怎么做网络广告推广
  • 银川网站建站公司中山360推广
  • 做门户网站的公司有哪些seo综合查询爱站