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

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

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

3.1K30

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

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

1.4K20

MySql约束

中一定要有各种约束,通过约束,让我们未来插入数据库数据是符合预期。约束本质是通过技术收到逼迫程序员插入正确数据,反过来,站在mysql视角,凡是插入进来数据,都是符合数据约束。...into t13(name) values ('李四'); deault:如果设置了,用户将来插入,有具体数据就用,没有就默认 如果我们没有明确指定一列要插入,是default,如果建中,对应列默认没有设置...a和b列就是前面插入数据 但是对列添加了zerofill属性后,显示结果就有所不同了。...要注意是,这只是最后显示结果,在MySQL中实际存储还是2....我们可以hex函数来证明 :hex:把一个数字变成十六进制 mysql> insert into t17 values (100,200); Query OK, 1 row affected (0.00

17630

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约束

其实没有zerofill这个属性,括号内数字是毫无意义。 zerofill作用就是0在有效数字前面0补齐剩下空间,直至设定宽度。...关键字:zerofill 案例: create table test4( a int(10), b int(10) zerofill ); 我们向a和b中插入两个同样数据,显示出来结果却是不一样...索引: 在关系数据库中,索引是一种单独、物理对数据库中一列或多列值进行排序一种存储结 构,它是某个中一列或若干列值集合和相应指向中物理标识这些值数据页逻辑指针清单。...这样可以使对应于SQL语句执行得更快,可快速访问数据库特定信息 七、唯一键 一张中有往往有很多字段需要唯一性,数据不能重复,但是一张中只能有一个主键:唯一键就可以解决中有多个字段需要唯一性约束问题...;插入学生班级号不能在班级中没有。

22340

MySQL约束

当用户忽略了这一列时候,如果设置了 default,就是默认值,如果没有设置,就直接报错,因为有 not null 约束。...其实没有 zerofill 这个属性,括号内数字是毫无意义。a 和 b 列就是前面插入数据,如下: 但是对列添加了 zerofill 属性后,显示结果就有所不同了。...值由原来 1 变成 00001,这就是 zerofill 属性作用,如果宽度小于设定宽度(这里设置是 5),自动填充 0;要注意是,这只是最后显示结果,在 MySQL 中实际存储还是1...我们可以 hex 函数来证明,hex 表示以十六进制显示: 可以看出数据库内部存储还是1;00001 只是设置了 zerofill 属性后一种格式化输出而已。...建立外键本质其实就是把相关性交给 mysql 去审核了,提前告诉 mysql 之间约束关系,那么当用户插入不符合业务逻辑数据时候,mysql 不允许你插入。

11010

MySQL约束

约束本质: 通过技术手段倒逼程序员插入正确数据。反过来站在mysql视角,凡是插入进来数据,都是符合数据约束。 约束最终目标: 保证数据完整性和可预期性。 为什么数据库这么严格?...二.非空约束 1.NULL与’ '比较 在MySQL数据类型已经说过,这二者是不同,NULL代表什么都没有,而' '代表一个空串。 在select语句中,NULL不会参与到相应计算操作中。...20) not null, other varchar(20) ); 这样,在NULL列中就会发现显示是No,也就是不允许为空,即我们插入数据时,代表No两行必须插入有效数据,否则就无法插入...如果将学生和班级结合成一个,那么在插入数据时,就需要插入大量字段造成没必要冗余。若将其分成两个,那么通过一一对应映射,来减少没必要数据。 为什么会造成没必要冗余?...在两个前提下,若要新增一名学生信息,只需要插入三个字段;若合并成一个,那么就需要插入3+2-1=4个字段,并且我们知道组合起来情况也会更多,两个合并结果就是数据位置上相乘,比如: 两个

18550

使用 Django 显示数据

1、问题背景当我们使用 Django 进行 Web 开发时,经常需要在 Web 页面上显示数据库中数据。例如,我们可能需要在一个页面上显示所有用户信息,或者在一个页面上显示所有文章标题和作者。...那么,如何使用 Django 来显示数据呢?2、解决方案为了使用 Django 显示数据,我们需要完成以下几个步骤:在 models.py 文件中定义数据模型。...例如,如果我们想显示所有用户信息,那么我们可以在 models.py 文件中定义如下数据模型:from django.db import modelsclass User(models.Model):...例如,如果我们想在一个页面上显示所有用户信息,那么我们可以在 views.py 文件中定义如下视图函数:from django.shortcuts import renderdef users(request...例如,如果我们想在一个页面上显示所有用户信息,那么我们可以在 templates 目录下创建如下 HTML 模板文件:{% extends 'base.html' %}{% block content

8210

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

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

2.3K30

MySQL 临时与内存区别

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

24930

MySQL - 高效设计MySQL

反范式设计主要从三方面考虑: 业务场景 响应时间 字段冗余 反范式设计就是空间来换取时间,提高业务场景响应时间,减少多表关联。...主要优点如下 允许适当数据冗余,业务场景中需要数据几乎都可以在一张显示,避免关联 可以设计有效索引 ---- 范式 VS 反范式 范式化模型: 数据没有冗余,更新容易 当数量比较多...数据库规范库表字段命名,能够提高数据库易读性,为数据库设计打下基础。下面我们具体看看表设计一些规则。 显式指定需要属性; 创建显示指定字符集、存储引擎、注释信息等。...必须显示指定 engine。 必备三字段:id、 xxx_create、 xxx_modified。...比如:人年龄 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

基本SELECT语句与显示结构

FROM 列别名 去除重复行 空值参与运算 着重号 查询常数(查询同时添加常数字段) 显示结构 过滤数据 练习题 基本SELECT语句 SELECT… SELECT 1+1, 2+2;# 直接这样写相当于下面这句...列别名 重命名一个列(alias 别名),便于计算。注意,重命名之后结果集中列会显示别名而非原名。...一个空字符串长度是 0,而一个空值长度是空。而且,在 MySQL 里面,空值是占用空间。 着重号 我们需要保证字段、名等没有和保留字、数据库系统或常用方法冲突。...corporation, last_name FROM employees; 显示结构 使用DESCRIBE 或 DESC 命令,表示结构。...FROM employees WHERE employee_id = 176; 5.显示 departments 结构,并查询其中全部数据 DESC departments; SELECT *

1.5K50

MySQL基本操作

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

8110

MySQL | 内连接

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

3.3K20

MySQL修改字段

MySQL修改字段 MySQL 修改表字段方法有两种: ALTER TABLE MODIFY COLUMN。...其语法如下: ALTER TABLE 名 MODIFY COLUMN 字段名 字段类型; 其中,名 表示要修改名,字段名 表示要修改字段名,字段类型 表示修改后字段类型。...例如,修改 users 字段 username 类型为 VARCHAR(50),可以使用以下 SQL 语句: ALTER TABLE users MODIFY COLUMN username VARCHAR...其语法如下: ALTER TABLE 名 MODIFY COLUMN 字段名 字段类型 [属性]; 其中,名 表示要修改名,字段名 表示要修改字段名,字段类型 表示修改后字段类型,属性 表示修改后字段属性...例如,将 users 中字段 age 数据类型修改为 INT,并设置默认值为 0,可以使用以下 SQL 语句: ALTER TABLE users MODIFY COLUMN age INT DEFAULT

5.4K10
领券