首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL共享空间与独立空间,哪个好呢?

    2.1 独立空间 2.2 共享空间 3.迁移 前面几篇文章和大家聊了 MySQL MyISAM 引擎,也聊了 MySQL 一些进阶配置,还没看过小伙伴可以先看看哦: 是什么影响了 MySQL...CPU 以及内存从哪些方面影响 MySQL 性能? 硬盘是如何影响数据库性能MySQL 体系架构简介 MySQL级锁很差劲吗? 这个 MySQL 索引选择性有点意思!...那么共享空间 ibdata1 文件又在哪里呢?其实就在 MySQL 存放数据库目录下: ?...经过以上分析,相信小伙伴们已经明白了,在实际项目中,还是首选独立空间比较好,事实上,从 MySQL5.6 开始,独立空间就已经成为默认选项了。...重启 MySQL 服务,重建 InnoDB 共享空间(此时里边就没有数据了)。 重新导入数据。 好啦,今天就和小伙伴们聊一聊共享空间和独立空间,InnoDB 其他玩法我们后面再继续介绍~

    3.2K30

    MySQL 啥时候锁,啥时候行锁?

    MySQL Innodb 锁可以说是执行引擎并发基础了,有了锁才能保证数据一致性。众所周知,我们都知道 Innodb 有全局锁、级锁、行级锁三种,但你知道什么时候会用锁,什么时候会用行锁吗?...上面就是我粗略想到答案,不知道大家思考答案是否和我一样呢?下面就让我带着大家来温习下 MySQL 锁吧!...所以当我们需要判断这个记录有没有被加锁时,直接判断意向锁就可以了,减少了遍历时间,提高了效率,是典型空间换时间做法。 那么什么时候会用到意向锁呢?...而全局锁、级锁,则是 MySQL 层面就支持锁。 那么什么时候会使用行级锁呢? 当增删改查匹配到索引时,Innodb 会使用行级锁。 如果没有匹配不到索引,那么就会直接使用级锁。...总结 文章最后,我们回顾一下开头提出问题:Innodb 啥时候锁,啥时候行锁? 级锁包括:锁、元数据锁、意向锁。 对于锁而言,当存储引擎不支持行级锁时,使用锁。

    1.5K20

    MySql约束

    中一定要有各种约束,通过约束,让我们未来插入数据库数据是符合预期。约束本质是通过技术收到逼迫程序员插入正确数据,反过来,站在mysql视角,凡是插入进来数据,都是符合数据约束。...into t13(name) values ('李四'); deault:如果设置了,用户将来插入,有具体数据就用,没有就默认 如果我们没有明确指定一列要插入,是default,如果建中,对应列默认没有设置...我们可以hex函数来证明 :hex:把一个数字变成十六进制 mysql> insert into t17 values (100,200); Query OK, 1 row affected (0.00...对于自增长:默认是从1开始插入,如果默认插入了一个值作为起始值,则从这个起始值加1开始 所以我们在创建时候可以给自增长设置一个起始值: mysql> create table t22( -...建立外键本质其实就是把相关性交给mysql去审核了,提前告诉mysql之间约束关系,那么当用户插入不符合业务逻辑数据时候,mysql不允许你插入。

    20630

    MySQL之间关系

    之间关系 1 foreign key 2 则1多条记录对应2一条记录,即多对一 利用foreign key原理我们可以制作两张多对多,一对一关系 多对多: 1多条记录可以对应...2一条记录 2多条记录也可以对应1一条记录 一对一: 1一条记录唯一对应2一条记录,反之亦然 分析时,我们先从按照上面的基本原理去套,然后再翻译成真实意义,就很好理解了...1、先确定关系 2、找到多一方,把关联字段写在多一方 一对多  多对一或者一对多(左边多条记录对应右边唯一一条记录)  需要注意: 1.先建被关联,保证被关联字段必须唯一。...图片 创建 书要关联出版社 被关联 create table press(id int primary key auto_increment, name char(20)); 关联 create...add primary  key(id,avg) 多对多:一个作者可以写多本书,一本书也可以有多个作者,双向一对多,即多对 关联方式:foreign key+一张新 示例: 图片 图片 创建 =

    3.5K10

    MySQL操作

    #前言:我们说过,库相当于一个文件夹,表相当于文件夹里一个个文件,表里面的一条记录相当于一行内容,一条记录有对应标题,称为字段 #直观 ?...#id,name,sex,age为字段,其余一行内容称为一条记录 1.建 #创建表语法格式 Create table ( , ….....:   create table 表示创建固定关键字,student为名,有四个字段,分别表示   id:学号列, int:数字类型, 4:长度为4, not null:不为空值...字节 极大文本数据 #创建时候指定存储引擎 mysql> create table test ( -> id int(4) not null auto_increment,...#语法格式:drop table #例子:删除db库里面的student mysql> use db; Database changed mysql> show tables; #查看库中

    4.7K40

    MySQL约束

    反过来,在 mysql 角度,凡是插入进来数据,都是符合数据约束!约束最终目的就是保证数据完整性和可预期性。因此我们需要更多约束条件!...当用户忽略了这一列时候,如果设置了 default,就是默认值,如果没有设置,就直接报错,因为有 not null 约束。...值由原来 1 变成 00001,这就是 zerofill 属性作用,如果宽度小于设定宽度(这里设置是 5),自动填充 0;要注意是,这只是最后显示结果,在 MySQL 中实际存储还是1...我们可以 hex 函数来证明,hex 表示以十六进制显示: 可以看出数据库内部存储还是1;00001 只是设置了 zerofill 属性后一种格式化输出而已。...建立外键本质其实就是把相关性交给 mysql 去审核了,提前告诉 mysql 之间约束关系,那么当用户插入不符合业务逻辑数据时候,mysql 不允许你插入。

    14610

    MYSQL约束

    其实没有zerofill这个属性,括号内数字是毫无意义。 zerofill作用就是0在有效数字前面0补齐剩下空间,直至设定宽度。...索引: 在关系数据库中,索引是一种单独、物理对数据库中一列或多列值进行排序一种存储结 构,它是某个中一列或若干列值集合和相应指向中物理标识这些值数据页逻辑指针清单。...索引作用相当于图书目录,可以根据目录中页码快速找到所需内容。 索引提供指向存储在指定列中数据值指针,然后根据您指定排序顺序对这些指针排序。...这样可以使对应于SQL语句执行得更快,可快速访问数据库特定信息 七、唯一键 一张中有往往有很多字段需要唯一性,数据不能重复,但是一张中只能有一个主键:唯一键就可以解决中有多个字段需要唯一性约束问题...;插入学生班级号不能在班级中没有。

    24440

    MySQL约束

    所谓约束,就是避免犯一些低级错误,比如类似于语法错误,编译器编译失败实际上也算是一种约束。 中一定要有各种约束,通过约束,让我们未来插入数据库数据是符合预期。...约束本质: 通过技术手段倒逼程序员插入正确数据。反过来站在mysql视角,凡是插入进来数据,都是符合数据约束。 约束最终目标: 保证数据完整性和可预期性。 为什么数据库这么严格?...二.非空约束 1.NULL与’ '比较 在MySQL数据类型已经说过,这二者是不同,NULL代表什么都没有,而' '代表一个空串。 在select语句中,NULL不会参与到相应计算操作中。...如果将学生和班级结合成一个,那么在插入数据时,就需要插入大量字段造成没必要冗余。若将其分成两个,那么通过一一对应映射,来减少没必要数据。 为什么会造成没必要冗余?...在两个前提下,若要新增一名学生信息,只需要插入三个字段;若合并成一个,那么就需要插入3+2-1=4个字段,并且我们知道组合起来情况也会更多,两个合并结果就是数据位置上相乘,比如: 两个

    21950

    MySql学习笔记(一)- 类型有哪些,怎么

    天天在用mysql,你说sql有什么学,但是面试官说你学都是皮毛。怎么样?...要说就是mysql一些比较重要东西,也是对自己学习一种挖掘。所以,说不对地方还望大家指正。...我们都知道数据库是一个数据树,就是将数据结构存储,就二叉树来说可以筛选50%数据,所以树同一节点分支愈多则树深度就会越少,树深越小的话检索速度就能提升上去,毕竟B树检索瓶颈往往位于读磁盘上...mysql基本类型有MyISAM、InnoDB、DBD、MEMORY、MERGE、EXAMPLE、NDB CLUSTER、ARCHIVE、CSV、BLACKHOLE、FEDERATED等。...其他都不是事务安全。如果创建时候不指定类型,默认为InnoDB,这是mysql5.5之后约定规范。当然您可以通过修改ini文件来指定默认类型。 ?

    2.4K30

    expdp 如何导出某用户下一部分

    一、比较规则一部分,例如 T_PRICE* 开头 T_PRICE 开头繁荣,可以从 dba_tables 视图或者 user_tables 视图中 like ‘T_PRICE%’ 查询到,这类...expdp 导出比较方便, 如下一个项目中需要在 oracle 数据库某个用户下,以 T_PRICE 开头约有 90 多个做备份,在 11.2.0.4 下 rman 没办法做单备份,CTAS...,SALGRADE,TEST,T1,T2 二、不规则一部分,例如 EMP,DEPT,TEST,T1,T2 等几百张 如果遇到如上列举几百张都是不规则,那么也就只能是通过上节最后一个示例,导出部分了...原描述大概如下:使用数据泵导出一个用户下部分,但是其中要剔除其中 200 张 exclude 直接写名会因为剔除名太多,报 exclude 参数无效错:UDE-00014: invalid...,,日志、目录等等 写入一个文件中,然后直接 parfile=文件名 代替,命令行中则可以省略掉很多,看起来比较直观,而且不容易出错,很多导出导入错误都是由于命令行参数太长导致

    1.4K30

    MySQL 临时与内存区别

    MySQL 中,Temporary Table(临时)和 Memory Table(内存)是两种不同类型,它们有一些重要区别和用途。...可以使用 CREATE TEMPORARY TABLE 语句创建临时。 临时可以存储在磁盘上,也可以存储在内存中,具体取决于 MySQL 配置和存储引擎。...内存适用于需要快速读写操作场景,但需要注意是,内存数据会在 MySQL 服务重启时丢失,因为数据存储在内存中。...3.区别 主要区别在于存储和生命周期: 存储: 临时存储位置可以是磁盘或内存,而内存数据存储在内存中。...生命周期: 临时生命周期限于会话或连接,会话结束时自动删除;而内存数据在 MySQL 服务重启时会丢失。 4.小结 您需要根据业务需求来选择使用临时还是内存

    31230

    mysql分区_MySQL分区分

    以至于查询速度变慢,而且由于锁机制导致应用操作也搜到严重影响,出现了数据库性能瓶颈。 mysql中有一种机制是锁定和行锁定,是为了保证数据完整性。...2、MySQL是将一个大按照一定规则分解成多张具有独立存储空间实体表,每个都对应三个文件,MYD数据文件,.MYI索引文件,.frm结构文件。...将单个数据库进行拆分,拆分成多个数据,然后用户访问时候,根据一定算法(如用hash方式,也可以求余(取模)方式),让用户访问不同,这样数据分散到多个数据中,减少了单个数据访问压力...binary large object,二进制大对象)等大字段拆分出来放在附表中; 经常组合查询列放在一张中; 垂直拆分更多时候就应该在数据设计之初就执行步骤,然后查询时候join关键起来即可...水平拆分原则,通常情况下,我们使用hash、取模等方式来进行拆分 比如一张有400W用户users,为提高其查询效率我们把其分成4张users1,users2,users3,users4 通过

    10.8K20

    MySQL - 高效设计MySQL

    反范式设计主要从三方面考虑: 业务场景 响应时间 字段冗余 反范式设计就是空间来换取时间,提高业务场景响应时间,减少多表关联。...想要发挥 MySQL 最佳性能,需要遵循 3 个基本使用原则 首先是需要让 MySQL 回归存储基本职能:MySQL 数据库只用于数据存储,不进行数据复杂计算,不承载业务逻辑,确保存储和计算分离...一旦事务回滚,会导致资源占用时间过长 大 SQL,复杂 SQL 意味着过多关联,MySQL 数据库处理关联超过 3 张以上 SQL 时,占用资源多,性能低下 大批量,意味着多条 SQL...必须要用时,尽量与主业务分离,减少对这类字段检索和更新 ---- 基本设置规则 必须指定默认存储引擎为 InnoDB,并且禁用 MyISAM 存储引擎,随着 MySQL 8.0 版本发布,所有的数据字典都已经转换成了...比如:人年龄 unsigned tinyint(范围 0~255,人寿命不会超过 255 岁);海龟就必须是 smallint,但如果是太阳年龄,就必须是 int;如果是所有恒星年龄都加起来,

    3.3K12

    MySQL之间关系详解

    大家好,又见面了,我是你们朋友全栈君。 外键 说到之间关系就不得不说到一个关键词:外键 MySQ中外键是什么,和之间有什么关联?...,子表employee中对应记录跟着删 mysql> delete from department where id=3; mysql> select * from employee; +----+-...,子表employee中对应记录跟着改 mysql> update department set id=22222 where id=2; mysql> select * from employee;...分析步骤: #1、先站在左角度去找 是否左多条记录可以对应右一条记录,如果是,则证明左一个字段foreign key 右一个字段(通常是id) #2、再站在右角度去找 是否右多条记录可以对应左一条记录...我们就可以把他们之间关联表现出来(即之间关系): 之间关系 一对多或者叫多对一 三张:出版社,作者信息,书 实现三者联系 一对多(或多对一):一个出版社可以出版多本书

    2K30

    MySQL基本操作

    前言:   在数据库中,数据是存储和组织数据基本单位,对于数据操作是每个程序员需要烂熟于心技巧。...创建时,不同存储引擎创建文件不同,比如我再任意创建一个,不过这个存储引擎为MyISAM。使用这个搜索引擎创建文件有 xxx.sdi 、xxx.MYD、xxx.MYI 三个文件。...SQL指令: SHOW CREATE TABLE table_name \G--\G可以;代替,\G默认有美化功能--   这样曾经创建时对该操作也能一清二楚了(这些语句有可能会被SQL优化过)...修改   在项目实际开发中,经常修改某个结构,比如字段名字,字段大小,字段类型,字符集类型,存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改。...✈️重命名   修改,是对表中属性字段以及格式修改,不同属性修改起来略有不同。

    9710

    MySQL | 内连接

    数据操作语言:连接查询(一) 从多张中提取数据 从多张提取数据,必须指定关联条件。如果不定义关联条件就会出现无条件连接,两张数据会交叉连接,产生 笛卡尔积。...规定了连接条件连接语句,就不会出现笛卡尔积。...连接分为两种:内连接 和 外连接 内连接是结果集中只保留符合连接条件记录 外连接是不管符不符合连接条件,记录都要保留在结果集中 内连接简介 内连接是最常见一种连接,用于查询多张关系符合连接条件记录...内连接多种语法形式 SELECT ...... FROM 1 JOIN 2 ON 连接条件; SELECT .........="SCOTT"; 相同数据也可以做表连接

    3.3K20
    领券