mysql数据库运算符的优先级和索引事务

一、mysql数据库运算符的优先级

可以分为以下几种:

  • 算数运算符
  • 比较运算符
  • 逻辑运算符
  • 位运算符
1.1 算数运算符

+

加法

-减法
*乘法
/或DIV除法
%或MOD取余

1.2比较运算符
=等于
<>, !=不等于
>大于
<小于
<=小于等于
>=大于等于
BETWEEN在两值之间>=min&&<=max
NOT BETWEEN不在两值之间
IN在集合中
NOT IN不在集合中
<=>严格比较两个NULL值是否相等两个操作码均为NULL时,其所得值为1;而当一个操作码为NULL时,其所得值为0
LIKE模糊匹配
REGEXP 或 RLIKE正则式匹配
IS NULL为空
IS NOT NULL

不为空

1.3逻辑运算符
NOT 或 !逻辑非
AND逻辑与
OR逻辑或
XOR逻辑异或
1.4位运算符
&按位与
|按位或
^按位异或
!取反
<<左移
>>右移
1.5运算符的优先级

从高到底排列

  1. 括号:用于分组表达式,具有最高优先级。
  2. 乘法、除法和取模运算符:*/ 和 %
  3. 加法和减法运算符:+ 和 -
  4. 比较运算符:=<>!=<<=>>=LIKENOT LIKEINNOT INBETWEENIS NULLIS NOT NULL
  5. 逻辑运算符:NOTANDOR

最低优先级为: :=

最高优先级为: !、BINARY、 COLLATE。

二、mysql事务

事务就是用来处理操作量大,复杂程度高的,用来维护数据库的完整性,sql要么全部执行,要么全部不执行

一般来说事务必须满足4个条件,原子性,隔离性,一致性,持久性

2.1原子性

一个事务中的所有操作,要么全部完成,要么全部不完成,执行过程中发生错误,回滚到事务开始前的原始状态。

2.2一致性

在事务开始执行和事务结束执行以后,数据的原始表结构没有被改变,和原始的数据库执行规则没有被改变,事务开始执行前是什么样子,结束以后也是什么样子。

2.3隔离性

多个事务之间执行中或不影响,级别分为:未提交,读提交,可重复读,串行化

2.4持久性

数据都落在盘中,系统故障也不会丢失

三、mysql索引

索引是为了加快数据库的查询速度和性能

它类似于书中的目录,可以快速定位到特定的数据行,而无需完全扫描整个表

可以分为单列索引和组合索引

  • 单列索引,即一个索引只包含单个列,一个表可以有多个单列索引。
  • 组合索引,即一个索引包含多个列。

索引虽然能够提高查询性能,但也需要注意以下几点:

  • 索引需要占用额外的存储空间。
  • 对表进行插入、更新和删除操作时,索引需要维护,可能会影响性能。
  • 过多或不合理的索引可能会导致性能下降,因此需要谨慎选择和规划索引。
3.1唯一索引

唯一索引确保索引中的值是唯一的,不允许有重复值。

可以使用 CREATE UNIQUE INDEX 语句来创建唯一索引。

3.2主键索引

唯一标识表中的每一行,主键必须是唯一、非空且不重复的。

3.3复合索引                 

基于多个列创 建索引,可以包含多个列的组合,提高多列条件的查询性能。

3.4联合唯一索引 

将多个列合并组合为索引,这么多个列的整数数据在数据库中的出现是唯一的

3.5全文索引

目前支持在InnoDB和MyISAM存储引擎,适用于CHAR,VARCHAR和TEXT列,常用在字符串内的全文索引,建立倒排索引的机制进行全文索引

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值