
数据库
文章平均质量分 78
少说废话多干活
寻找巨人,并站在他们的肩膀上
找回男人的自信
展开
-
表锁,行锁,排他锁,共享锁,悲观锁和乐观锁
行锁:mysql,innodb,使用的是行锁.每次插入/更新时会自动加锁.mysql的行锁是基于索引加载的行锁的特征:锁冲突概率低,并发性高,但是会有死锁的情况出现。表锁:myisam,使用的时表锁表锁就是一锁锁一整张表,在表被锁定期间,其他事务不能对该表进行操作,必须等当前表的锁被释放后才能进行操作特征:锁表快,性能低排他锁:如果事务 T1对数据对象 O1加上了排他锁,那么在整个加锁期间,只允许事务 T1对 O1进行读取和更新操作,其他任何事务都不能再对这个数转载 2021-01-27 02:21:35 · 298 阅读 · 0 评论 -
存储过程,函数,触发器,视图的使用
存储过程存储过程(Stored Procedure)是在数据库中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(可选)来执行存储过程的优点预编译SQL,提升执行效率 可以隐藏执行逻辑,只暴露名称和参数 相较于程序来说,修改起来更加便捷存储过程的缺点随着SQL行数的增加,维护复杂度呈线性提升 无法调试,迭代过程中风险较高格式delimiter //drop procedure if exis原创 2021-01-27 01:38:52 · 552 阅读 · 0 评论 -
oracle与mysql区别--转
https://www.cnblogs.com/id-tangrenhui/p/11647785.html转https://blog.youkuaiyun.com/DeMonliuhui/article/details/52988894笛卡儿乘积:cross join1 --笛卡儿乘积连接 :即不加任何条件,达到 M*N 的结果集。2 --以下两种查询结果一样。3 select * from student s cross join class c;4 select * from studen.转载 2021-01-27 00:59:42 · 79 阅读 · 0 评论 -
分库分表--理论和实践
什么是分区??将一个表分解成多个区块进行操作和保存,从而降低每次操作的数据,提高性能。从逻辑上看只有一个表,但在五路上这个表可能是由多个分区组成。分区能干什么??分割数据能够有多个不同的物理路径可以存储更多的数据;提高每个分区的读写速度;涉及sum和count等聚合操作,可以很容易的进行并行运算。分区类型:range分区:基于一个给定连续区间的列值,将多行分配给分区list分区:hash分区:基于定义的表达式的返回值来进行选择分区key分区:类似于hash..转载 2020-11-08 21:44:56 · 232 阅读 · 1 评论 -
数据库 -- 表设计1
一对一关系:一对多模型:商城中的 商品表shop_product 和 商品物品表 shop_product_item 是 一对多关系 。 关联字段是shop_product_item的product_id字段多对多模型:合能项目中 角色表manager_role 和 菜单表manager_menu 是多对多关系。中间表为manager_role_m...原创 2019-12-17 16:12:47 · 351 阅读 · 0 评论 -
数据库 -- 基础知识
关系模型:就是“一对一、一对多、多对多”等关系模型。关系模型就是指二维表格模型,因为一个关系型数据库就是二维表及其之间的关系 组成的一个数据组织。非关系型数据库:主要基于“非关系模型”的数据库 ;非关系型模型比如有:列模型:存储的数据是一列列的。关系型数据库以一行作为一个记录,列模型数据库以一列为一个记录。(这种模型,数据即索引,主要是一些分布式数据库)键...原创 2019-12-17 13:55:40 · 154 阅读 · 0 评论 -
mysql -- 主从复制
转https://zhuanlan.zhihu.com/p/50597960主从复制概念:数据可以从主数据库复制到从数据库种,默认采用异步复制方式。原理:1、当主数据库发生更新操作时(删除、更新和插入),会将更新的操作写入到二进制日志。2、从库的IO线程会实时监控主库的二进制日志文件,查看是否发生变化。如果发生变化则读取变化的日志消息写入到中继日志。3、从数据库会通过sql...原创 2019-11-27 16:23:33 · 158 阅读 · 0 评论