![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
hkf仙
乾,自强不息;坤,厚德载物。
展开
-
mysql的存储过程
mysql的存储过程类似于一个函数(1)通过 “CREATE PROCEDURE 函数名 (参数列表)”形式创建一个 ‘ 函数 ’(2)然后在 BEGIN … END之间编写逻辑体,逻辑体内主要包括:变量的声明“ declare 变量名 变量类型”、变量的赋值SET、SQL语句、条件语句IF 等等(3)然后通过CALL调用 ‘ 函数 ’ ,最后SELECT查询或使用结果。存储过程案例CREATE PROCEDURE `test_procedure2`(IN `uid` integer,IN `si原创 2022-03-22 15:38:19 · 534 阅读 · 0 评论 -
事务的ACID特性与并发一致性问题
1、事务基本特性ACIDA原子性(atomicity) 指的是一个事务中的操作要么全部成功提交,要么全部失败回滚。C一致性(consistency) 指的是事务的前后操作需保证系统从一个正确状态转换到另一个正确状态,而ACID就是说事务能够通过AID来保证这个C的过程,C是目的,AID都是手段。。I隔离性(isolation) 指的是一个事务的修改在最终提交前,对其他事务是不可见的。D持久性(durability) 指的是一旦事务提交,所做的修改就会永久保存到数据库中。2、并发一致性问题在并原创 2022-03-21 23:29:25 · 109 阅读 · 0 评论 -
索引失效和查询优化
mysql的索引怎样会失效?(1)条件中有 or;要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引。(2)like查询以%开头(3)如果列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不使用索引(4)判断 null 值(5)使用 “ != ”(6)not in对查询进行优化,尽量避免全表扫描,避免导致索引失效在where子句中进行null值判断的话会导致引擎放弃索引而产生全表扫描SELECT id FROM table WHERE num is null原创 2022-03-21 23:09:19 · 130 阅读 · 0 评论 -
存储引擎myisam和innodb
1、myisam和innodb的区别:myisam: mysql 5.1版本之前默认的存储引擎,不支持事务和外键,锁是表级锁,索引和数据分开存储,一般用于大量查询的场景。innodb: 是基于B+Tree索引建立的,支持事务和外键,锁是行级锁,并且通过MVCC来支持高并发,索引和数据存储在一起。2、B+树索引可分为聚簇索引和非聚簇索引:聚簇索引(主索引): 叶子结点存放真实的数据。非聚簇索引(辅助索引): 叶子结点存放的是指向数据页或数据行的逻辑指针。3、MVCC全称Multi-Version原创 2022-03-21 23:02:44 · 497 阅读 · 0 评论 -
sql的语法顺序和执行顺序
语法顺序执行顺序关于内连接和 inner join onSELECT A.value, B.valueFROM tablea AS A INNER JOIN tableb AS BON A.key = B.key;可以不明确使用 INNER JOIN,在where中进行等值连接SELECT A.value, B.valueFROM tablea AS A, tableb AS BWHERE A.key = B.key;关于sql中between的用法WHERE column_原创 2022-03-21 14:14:16 · 76 阅读 · 0 评论 -
数据库的三范式
第一范式:字段、属性不可再分;第二范式:非主键列不存在部分依赖于主键;第三范式:没有传递依赖,属性跟主键是直接关系不是间接关系。原创 2022-03-21 14:10:32 · 886 阅读 · 0 评论