对数据库索引和事务的理解

1.数据库授权命令: GRANT<权限> on 表名(或列名) to 用户。
举例: 授予用户SQLTest对数据库Sales的CUSTOMERS表的列cid、cname的查询权限
grant select on CUSTOMERS(cid,cname) to SQLTest;
2.MySQL索引(index)
什么是索引?
为了提升查询速度而建立的数据结构
为什么要使用索引?
为了提升查询速度
索引如何分类?
01.实现数据结构(B+树/哈希表)
02.主键/唯一键/普通索引/全文索引
3.Storage Engine 聚簇索引/非聚簇索引
索引的优势和成本:成本空间变大+增删改的速度适度下降
使用索引过程中要注意什么?
1.建索引的原则—保守原则
01.数据量大
02.key一定是查用查询字段
3.MySQL事务
事务是什么?
业务上的一个动作–多条SQL,这组SQL就是事务(比如借书,借书大的动作要分为先在书籍库存表,数据量减一,然后在借阅记录表记录中插入一条记录,这组借书的SQL统称为借书的事务)
为什么要使用事务?
需要保持这个动作(借书动作)的一致性,所以诞生了SQL事务
如何做到事务的正确性?
ACID
原子性(A):强调事务是密不可分的
一致性(C):数据库+开发者修改的数据表现出来是一致的
隔离性(I):同时执行一张表,互不干扰,隔离性高,并发性差,隔离性差,并发性高
持久性(D):事务的修改是不可恢复的
在这里插入图片描述

SQL练习
SELECT 姓名,COUNT()from 借阅记录表(WHERE>=昨天零点AND WHERE<今天零点) GROUP BY 姓名(ORDER BY COUNT()DESC LIMIT3;排序一般是默认升序排。
select name,sum(money) from t group by name having sun(money)>20 order by sum(money) desc;
order by和group by的区别:
order by
order by比较简单,作用就是排序
asc 从上到下慢慢升序
desc 从上到下慢慢降序
默认为升序(就是sql后面不写order by 它就是升序)
order by后面跟多个字段时,排序按就近原则依次而来
2. group by
group by我的理解是:聚合分组,值相等即为一组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值