
mysql学习笔记
主要记录关于mysql看到各种有用的资料
菜鸟笔记本
这个作者很懒,什么都没留下…
展开
-
事务隔离级别有哪些?MySQL的默认隔离级别是?
SQL 标准定义了四个隔离级别:read-uncommitted(读取未提交): 最低的隔离级别,允许读取尚未提交的数据变更,可能会导致脏读、幻读或不可重复读。read-committed(读取已提交): 允许读取并发事务已经提交的数据,可以阻止脏读,但是幻读或不可重复读仍有可能发生。repeatable-read(可重复读): 对同一字段的多次读取结果都是一致的,除非数据是被本身事务自己所修改,可以阻止脏读和不可重复读,但幻读仍有可能发生。serializable(可串行化): 最高的隔离级别,原创 2022-03-17 12:18:52 · 5077 阅读 · 0 评论 -
并发事务带来哪些问题?
在典型的应用程序中,多个事务并发运行,经常会操作相同的数据来完成各自的任务(多个用户对同一数据进行操作)。并发虽然是必须的,但可能会导致以下的问题。脏读(Dirty read): 当一个事务正在访问数据并且对数据进行了修改,而这种修改还没有提交到数据库中,这时另外一个事务也访问了这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另外一个事务读到的这个数据是“脏数据”,依据“脏数据”所做的操作可能是不正确的。丢失修改(Lost to modify): 指在一个事务读取一个数据时,另外一原创 2022-03-17 11:03:42 · 511 阅读 · 0 评论 -
什么是视图
视图是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,试图通常是有一个表或者多个表的行或列的子集。对视图的修改不影响基本表。它使得我们获取数据更容易,相比多表查询。...原创 2022-03-17 10:24:45 · 292 阅读 · 0 评论 -
简单说一说drop、delete与truncate的区别
简单说一说drop、delete与truncate的区别delete和truncate只删除表的数据不删除表的结构速度,一般来说: drop> truncate >deletedelete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发. truncate,drop是ddl, 操作立即生效,原数据不放到rollbacksegment中,不能回滚. 操作不触发trigger....原创 2022-03-17 10:23:39 · 271 阅读 · 0 评论 -
SQL优化
SQL优化查询语句中不要使用select *尽量减少子查询,使用关联查询(left join,right join,inner join)替代减少使用IN或者NOT IN ,使用exists,not exists或者关联查询语句替代or 的查询尽量用 union或者union all 代替(在确认没有重复数据或者不用剔除重复数据时,union all会更好)应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。应尽量避免在 where 子句中对原创 2022-03-17 00:58:00 · 386 阅读 · 0 评论 -
数据库的事务
数据库的事务多条sql语句,要么全部成功,要么全部失败。事务的特性:数据库事务特性:原子性(Atomic)、一致性(Consistency)、隔离性(Isolation)、持久性(Durabiliy)。简称ACID。原子性:组成一个事务的多个数据库操作是一个不可分割的原子单元,只有所有操作都成功,整个事务才会提交。任何一个操作失败,已经执行的任何操作都必须撤销,让数据库返回初始状态。一致性:事务操作成功后,数据库所处的状态和它的业务规则是一致的。即数据不会被破坏。如A转账100元给B,不管操作原创 2022-03-17 00:48:43 · 929 阅读 · 0 评论 -
什么是索引?索引的作用是什么?Mysql目前主要的几种索引类型
一,什么是索引?作用是什么?索引:对数据库中一列或多列的值进行排序的一种结构作用:使用索引可以快速访问数据库表中特定信息(加速检索表中的数据)二、索引类型Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE1. FULLTEXT即为全文索引,其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不过目前只有 CHAR、VARCHAR ,TEXT 列上可以创建全文索引。全文索引并不是和MyISAM一起诞生的,它的出现原创 2022-03-17 00:35:33 · 7784 阅读 · 0 评论 -
Mysql全文索引
简介MySQL中的全文索引是FULLTEXT类型的索引。全文索引只能用于InnoDB或MyISAM表,只能为CHAR、VARCHAR、TEXT列创建。在MySQL 5.7.6中,MySQL提供了支持中文、日文和韩文(CJK)的内置全文ngram解析器,以及用于日文的可安装MeCab全文解析器插件当创建表时,可以在CREATE TABLE语句中给出FULLTEXT索引定义,或者稍后使用ALTER TABLE或CREATE INDEX添加该定义。对于大型数据集,将数据加载到没有FULLTEXT索引的原创 2022-03-16 22:53:52 · 490 阅读 · 0 评论 -
mysql数据库中允许出现不同的引擎么?
mysql数据库中允许出现不同的引擎么?存储引擎只针对表,因此数据库中允许出现不同的引擎,所以我们可以根据不同引擎的特点,来设定表的存储引擎,发挥更好的性能。原创 2022-03-16 22:24:39 · 903 阅读 · 0 评论 -
InnoDB与MyISAM的区别
InnoDB与MyISAM的区别InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个事务;InnoDB支持外键,而MyISAM不支持。对一个包含外键的InnoDB表转为MYISAM会失败;InnoDB是聚集索引,数据文件是和索引绑在一起的,必须要有主键,通过主键索引效率很高。但是辅助索引需要两次查询,先查询到主键,然后再通过主键查询到数据。因此,主键不应该过大,因为主键原创 2022-03-16 22:18:18 · 1085 阅读 · 0 评论 -
数据库引擎有哪些
如何查看mysql提供的所有存储引擎show engines;mysql常用引擎包括:myisam、Innodb、Memory、mergemyisam:全表锁,拥有较高的执行速度,不支持事务,不支持外键,并发性能差,占用空间相对较小,对事务完整性没有要求,以select、insert为主的应用基本上可以使用这引擎Innodb:行级锁,提供了具有提交、回滚和崩溃恢复能力的事务安全,支持自动增长列,支持外键约束,并发能力强,占用空间是MYISAM的2.5倍,处理效率相对会差一些memory:全表原创 2022-03-16 21:53:49 · 1066 阅读 · 0 评论