数据库浅述

MySQL的数据库引擎有那几种?

主要有INNODB、MYISAM、MEMORY等
INNODB是MYSQL的默认存储引擎
1、INNODB、MYISAM这两个的底层采用的都是b+tree。
2、INNODB采用的是聚集索引,而MYISAM采用的是非聚集索引。
3、INNODB支持行锁和表锁,而MYISAM只支持表锁。
4、INNODB支持外键和事务,MYISAM不支持外键和事务。
5、INNODB的数据文件本身就是索引文件,MYISAM索引文件和数据文件是分离的

mysql的事务

什么是事务:事务是数据库中一组不可再分割的工作逻辑单元。
事务只与DML(insert、delete、update)语句有关,或者说有DML语句才有事务。

事务四大特征:ACID
1.原子性:事务中的操作要么全部完成,要么全部不完成
2.一致性:事务发生与结束后,数据库的完整性没有被破坏
3.隔离性:事务与实务之间是相互隔离的
4.持久性:事务结束后,对数据库的影响是一直存在的

数据库表的链接有哪几种?

1.内连接(inner join):只返回条件匹配的行
2.外连接(left/right/full join)
 左外(left):以左表为主表,主表的所有记录都会显示,而外表中和条件不匹配的字段值为NULL
 右外(right):以右表为主表,主表的所有记录都会显示,而外表中和条件不匹配的字段值为NULL
 全外(full):两个表的所有行列都显示,条件不匹配的字段值为NULL
3.交叉连接(cross):没有where条件,返回行数的涉及笛卡尔积(左表行数×右表行数)

mysql语句的优化有哪些?例如:尽量不要写什么?

sql语句优化:
查询:
1.尽量避免子查询(它是先查外表再查子表,当外表数据很大时,查询性能非常低)
2.尽量少用or查询
3.尽量不用select *

插入:
1.推荐使用批量查询

索引优化: 建立索引
查询:
1.多列索引中不查前一部分会让索引失效
2.like后以通配符%开头会让索引失效
3.字符串不加单引号也会让索引失效

Hash索引和B+索引的区别

Hash:等值查询效率高,不能排序,不能进行范围查询
B+:数据有序,范围查询

数据库隔离级别

脏读:事务B读取事务A还没有提交的数据
不可重复读:一行被检索两次,并且该行中的值在不同的读取之间不同时
幻读:当在事务处理过程中执行两个相同的查询,并且第二个查询返回的行集合与第一个查询不同时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值