search
HomeDatabaseMysql Tutorialmysql分区管理-range分区_MySQL

bitsCN.com 为了更好的演示range分区,首先对mysql server的启动和关闭进行说明: 一,如何启动mysqld?         本人把mysql安装在windows环境下,安装的主目录homedir是"c:/Program Files
/MySQL/MySQL Server 5.1/",启动方法非常简单:首先进入cmd命令行窗口,如下图:     mysql分区管理-range分区_MySQL             执行如下命令:cd  c:/Program Files/MySQL/MySQL Server 5.1/,进入mysql安装目录,
可以看到bin目录,该目录是存放mysql的各种可执行文件,cd bin,进入该目录, 找到mysqld.exe的可执行文件,执行mysqld,即启动mysqld,如下图:   mysql分区管理-range分区_MySQL       
 此时,打开任务管理器 - 》进程,可以看到mysqld.exe,表示启动成功。 mysql分区管理-range分区_MySQL          二,如何关闭mysqld?         运行cmd,将路径切换到:c:/Program Files/MySQL/MySQL Server 5.1/bin下,用命令         mysqladmin -u root -p shutdown         如下图所示:       mysql分区管理-range分区_MySQL 三,innodb_file_per_table设置         mysql innodb 存储引擎对表空间的管理在默认情况下是使用共享表空间,
即所有表的索引和数据均放在一个以ibdata1的文件中,我们可以执行下面的命令查看: mysql分区管理-range分区_MySQL              可以看到对应的Value: OFF,下面我们在配置文件my.ini增加下面一行:         #tenfy: 新添加的参数        innodb_file_per_table=1           然后,重新启动mysqld,此时,可以看到: mysql分区管理-range分区_MySQL           那么,你也许会问,之前在innodb_file_per_table=0的时候已经创建的表,
此时还是继续使用共享表空间吗?是的,如果我们不对表进行修改,之前的可以继续使用,但          将共享表空间修改成独立表空间,除了修改innodb_file_per_table参数外,
我们需要修改所有innodb的表都运行如下:          alter table table_name engine=innodb; (tenfy:注意红色部分必须添加,
否则无法生效),一旦执行完成后,我们可以在data的mytest1目录下,看到根据各个分区
生成的各个.ibd后缀的文件,这些文件就是独立表空间文件,每个分区对应一个。
(关于分区我们将在下面讲解)
 mysql分区管理-range分区_MySQL 四,mysql分区概述        分区功能并不是在存储引擎层完成的,因此除了innodb支持分区外,MyISAM,NDB
等均支持分区功能,而CSV,FEDERATED,MERGE则不支持分区功能。而MySQL在5.1版本时
添加了对分区功能的支持。       分区是将一个表或者索引物分解成多个更小的,更可管理的部分,而对用户访问db的应用来说,
从逻辑上看,只有一个表或者一个索引(这里跟分库分表的访问不一样),但在物理上这个表或者
索引可能是由许多个物理分区组成的,每个分区都是一个独立的对象,可以进行独立处理。         那么怎么判断当前数据库是否启用了分区功能呢?可以执行如下命令进行查看: mysql分区管理-range分区_MySQL       或者:      mysql分区管理-range分区_MySQL        当前MySQL支持以下几种分区:        1,RANGE分区:顾名思义,区间分区,行数据基于一个给定连续区间的列值放入分区。        2,LIST分区:列表分区,与RANGE分区类似,只是LIST分区面向的是离散可列举的值。        3,HASH分区:根据用户自定义的表达式的返回值来进行分区,返回值不能是负数。        4,KEY分区:根据MySQL数据库提供的哈希函数进行分区。        但是不论什么类型的分区,必须注意以下两个问题:       1,如果表中存在primary key 或者unique key时,分区的列必须是primary key或者
unique key的一个组成部分,也就是说,分区函数的列只能从pk或者uk这些key中取子集。            如下:      mysql分区管理-range分区_MySQL       表par_tb1有唯一key,他们对应的列是col1,col2。而此时进行分区的列却是col3,
因此出现1503错误,此时我们把col3加入到unique key或者用col1或者col2进行分区均       没问题:
mysql分区管理-range分区_MySQL            2,如果表中不存在任何的primary key或者unique key,则可以指定任何一个列作为分区列。 五,RANGE分区。         RANGE分区是最常用的一种分区类型,它的特点主要是按照某个列连续的值进行分区,
因此在分区中常常使用values less than (xxx),下面我们以具体的例子来说明。         首先我们创建一个表,名字叫:range_par_tbl,有一个int类型的id字段,当id小于10的
时候,插入第一个分区,当id小于20的时候插入第二分区。如下: mysql分区管理-range分区_MySQL               此时,我们查看对应的分区表空间文件(注意:因为我们之前设置了innodb_file_per_table=1),
此时启用分区后,表已经由建立分区时的各个分区ibd文件组成了,由于我们分了两个区,
因此可以看到对应的两个文件:    
  mysql分区管理-range分区_MySQL                可以看到,分区对应的表空间文件命名规则为:表名

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
图文详解mysql架构原理图文详解mysql架构原理May 17, 2022 pm 05:54 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于架构原理的相关内容,MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层,下面一起来看一下,希望对大家有帮助。

mysql怎么去掉第一个字符mysql怎么去掉第一个字符May 19, 2022 am 10:21 AM

方法:1、利用right函数,语法为“update 表名 set 指定字段 = right(指定字段, length(指定字段)-1)...”;2、利用substring函数,语法为“select substring(指定字段,2)..”。

mysql的msi与zip版本有什么区别mysql的msi与zip版本有什么区别May 16, 2022 pm 04:33 PM

mysql的msi与zip版本的区别:1、zip包含的安装程序是一种主动安装,而msi包含的是被installer所用的安装文件以提交请求的方式安装;2、zip是一种数据压缩和文档存储的文件格式,msi是微软格式的安装包。

mysql怎么替换换行符mysql怎么替换换行符Apr 18, 2022 pm 03:14 PM

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

mysql怎么将varchar转换为int类型mysql怎么将varchar转换为int类型May 12, 2022 pm 04:51 PM

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

MySQL复制技术之异步复制和半同步复制MySQL复制技术之异步复制和半同步复制Apr 25, 2022 pm 07:21 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

带你把MySQL索引吃透了带你把MySQL索引吃透了Apr 22, 2022 am 11:48 AM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了mysql高级篇的一些问题,包括了索引是什么、索引底层实现等等问题,下面一起来看一下,希望对大家有帮助。

mysql怎么判断是否是数字类型mysql怎么判断是否是数字类型May 16, 2022 am 10:09 AM

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.