Database_redis/mysql

MySQL数据库优化

1.分表分库, 主写从读
2.查询优化,避免全表扫描 where 和 order by建索引
3.update 字段部分更新、避免全更
4.大表分页再进行join
5.避免where子句对null判断,否则引起引擎放弃使用索引全表扫描
(null, or, !=, >, <, %, like等)

InnoDB和MyISAM

InnoDB: 外键、事务(可回滚)、锁、需指定引擎、清除一行一行清除,较为费时
MyISAM:查询、插入为主,整表清空删除较快

redis项目中存储了什么信息

常用的固定性的小型数据
登录信息
用户信息

Redis指令:清空 flushall

MongoDB的聚合方法

计算平均、计数、求和等等

设计数据库的时候什么时候设定关联

先建表会有一些基础关联, 后期在调用的过程当中, 再随便定义

一张MySQL表有3个字段(姓名,登录次数,最后登录时间),假设用户名是newborn,请算出登记次数累计,和更新最后登录时间的方法

select "登陆次数" from table where name is "newborn";
select "最后登录时间" from table where name is "newborn";

关系型数据库中, 表与表之间有左连接、内连接、外连接.解释含义区别

select * from students;
select * from classes;

在这里插入图片描述

内连接: 两表依据条件合并, 交集

select * from students inner join classes on students.cls_id = classes.id;

在这里插入图片描述
在这里插入图片描述

左连接(左外连接): 左表全值,右表含不符合条件值填Null

select * from students left join classes on students.cls_id = classes.id;

在这里插入图片描述
在这里插入图片描述

右连接(右外连接): 右表全值,左表含不符合条件值填Null

select * from students right join classes on students.cls_id = classes.id;

在这里插入图片描述
在这里插入图片描述

数据库事务

四大特性(ACID)
原子性, 隔离性, 持久性,
四大隔离级别
Read uncommitted – 脏读,不可重复读,幻读
Read commit – 不可重复读,幻读(Oracle默认)
Repeatable read – 幻读(mysql默认)
Serializable – 单线程,效率慢
脏读:一个事务读取到另一个事务未提交的数据
不可重复读:在当前事务中,读取到了另一事务提交的更新和删除的数据
幻读:在当前事务中,读取到了另一事务提交的插入的数据

数据库ACID分别代表什么?索引对增删改查的速度分别有什么影响?如果让你设计一个用户注册功能,如何防止用户名重复

唯一键

数据库引擎?

innob引擎 Memory引擎 Merge引擎
innob引擎一大特点就是支持外键。 内存和空间大 支持事务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海啦啦喽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值