mysql
文章平均质量分 86
phn555
生活,就应当努力使之美好起来
展开
-
mysql篇
mysql 权限如何管理? 答 MySQL的权限分为 表权限、列权限、过程权限。 权限分布 可以设置的权限 表权限 select,insert,update,delete,create,deop,grant,index,alter,refernces 列权限 select,insert,update,refernces 过程权限 execute,alter routine,grant 通过权限表来控制用户对数据库的访问,主要有下面四张表:user,db,table_priv原创 2022-04-27 21:16:06 · 1153 阅读 · 0 评论 -
Mysql Innodb 事务实现原理
ACID 原子性:要么都成功,要么都失败 一致性:事务前后状态一致,比如某张表的id是唯一约束,不能重复。则无论事务成功失败,都不能出现重复的id。 隔离性:A事务不应该访问到B事务没有提交的数据 持久性:事务一旦提交,结果是永久的。 事务分类 1. 扁平事务 最简单也最频繁的事务。就是begin开始,中间一个或几个编辑操作,然后一起提交。整体要么都成功要么都失败。 缺点:只能全部回滚,不能部分回滚。在某些大事务中,代价太大 2. 带保存点的扁平事务 对上诉问题的优化处理,可以设置保存点,回滚原创 2021-06-02 16:51:40 · 478 阅读 · 0 评论 -
Mysql Innodb锁实现
lock与latch latch:闩锁,一种轻量级的锁。当锁定时间短时性能很好,但是锁定时间长时,性能会很差。在Innodb中,latch可分为mutex(互斥量)和rwlock(读写锁)。目的是用来保证并发线程操作临界资源的正确性,作用于线程,没有死锁检测机制 lock:锁。作用对象是事务,用来锁定数据库中的对象。有死锁机制。 Innodb的行锁 共享锁(S lock),允许事务读取一行数据。S锁可兼容其他S锁 排他锁(X lock),允许事务更新或删除一行数据。X锁不兼容其他锁 意向锁 意原创 2021-05-27 18:09:00 · 305 阅读 · 0 评论 -
Mysql关联更新、删除重复、复制
准备数据 -- 1 test_user 表 DROP TABLE IF EXISTS `test_user`; CREATE TABLE `test_user` ( `id` int(11) NOT NULL, `name` varchar(255) DEFAULT NULL COMMENT '姓名', `phone` varchar(11) DEFAULT NULL COMMENT '号码', `create_time` datetime(0) NULL DEFAULT CURREN原创 2021-05-26 10:34:58 · 235 阅读 · 0 评论 -
Mysql之Innodb引擎
查询语句分析 首先我们可以用EXPLAIN或DESCRIBE(简写:DESC)命令分析一条查询语句的执行信息 优化子查询 在MySQL中,尽量使用JOIN来代替子查询.因为子查询需要嵌套查询,嵌套查询时会建立一张临时表,临时表的建立和删除都会有较大的系统开销,而连接查询不会创建临时表,因此效率比嵌套子查询高. 常用数据库优化方法 索引是提高数据库查询速度最重要的方法之一。 在表中建立索引,优先考虑where、group by使用到的字段。 查询条件中,尽量不使用select *,因为会返回过多原创 2020-10-28 20:53:40 · 431 阅读 · 1 评论 -
Mysql小知识
1 使用B+Tree 而不使用二叉树的原因: 二叉树是不平衡树 二叉树的深度太深,I/O操作次数过多 每次I/O可读取16K的量,但二叉树保存数据太少,没有很好的利用IO的预读能力。 2 B+Tree 与 B Tree的区别 B+节点关键字搜索采用闭合区间 B+非叶节点不保存数据相关信息,只保存关键字和子节点的引用 B+关键字对应的数据保存在叶子节点中 B+叶子节点是顺序排列的,并且相邻节点具有顺序引用的关系 3 innodb引擎 innodb采用聚集索引,使用该引擎推荐ID必须有且自增 聚集原创 2020-08-22 12:58:36 · 327 阅读 · 0 评论