![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
mysql
文章平均质量分 74
mysql笔记
让你三行代码QAQ
有道无术,术尚可求
展开
-
MySQL查询成本
在使用二级索引的时候,如果需要回表,回表的成本是及其高的,所以MySQL一般会使用通过二级索引检索出来数据量少的索引,因为需要回表的数据量少,成本低。原创 2024-06-01 21:41:48 · 1003 阅读 · 0 评论 -
MySQL优化器的SQL重写规则
优化器在分析一个查询语句时,先首先执行常量表查询,然后把查询中涉及到该表的条件全部替换成常数,最后再分析其余表的查询成本。对于列子查询和表子查询来说,它们的结果集中包含很多条记录,这些记录相当于是一个集合,所以就不能单纯的和另外一个操作数使用操作符来组成布尔表达式了,MySQL通过下面的语法来支持某个操作数和一个集合组成一个布尔表达式。所谓物化表转连接,就是外层表和物化表做连接查询,MySQL通过计算外层表作为驱动表和物化表作为驱动表进行连接查询的查询成本,然后使用成本较低的方式进行查询。原创 2024-05-31 00:38:27 · 735 阅读 · 0 评论 -
MySQL目录和文件
重要的日志为错误日志、慢日志、binlog日志。原创 2024-05-28 23:54:45 · 445 阅读 · 0 评论 -
MySQL体系架构
且不能通过命令修改,只能通过配置文件修改。InnoDB和MyISAM对比。原创 2024-05-28 23:54:11 · 312 阅读 · 0 评论 -
MySQL中的锁
又称S锁,排他锁主要用于写操作,如更新或删除,它阻止其他事务对数据进行访问。只有一个事务可以获得排他锁,其他事务无法获得任何类型的锁,直到该事务释放排他锁。排他锁的目的是确保在写操作完成前,数据不会被其他事务读取或修改,从而保持数据的完整性和一致性。又称X锁,共享锁主要用于读操作,允许事务对数据进行读取。多个事务可以同时对同一数据对象加共享锁,进行读取操作。共享锁的目的是允许并发读取,但阻止其他事务对数据对象加排他锁,从而阻止写操作。原创 2024-05-28 23:52:27 · 1152 阅读 · 0 评论 -
MySQL事务
事务1在第一次查询时候生成了ReadView,没有查到数据,事务2插入一条数据并提交事务后事务1执行了update语句,所以会有版本链生成,且最新的版本的事务ID为事务1的trx_id,所以第二次读取的时候creator_trx_id = 事务1的trx_id所以可以看到数据了。如果某个版本的数据对当前事务不可见的话,那就顺着版本链找到下一个版本的数据,继续按照上边的步骤判断可见性,依此类推,直到版本链中的最后一个版本。//此刻事务1还没有提交,但是事务2提交了。//此刻就可以看到数据了。原创 2024-05-12 18:38:03 · 441 阅读 · 0 评论 -
MySQL优化-04慢查询和执行计划
MySQL记录所有执行超过long_query_time参数设定实际阈值的SQL语句日志。原创 2024-05-12 18:36:59 · 959 阅读 · 1 评论 -
MySQL优化-03索引
左边列是精确查找,则右边列可进行范围查找中间有范围查找会导致后面列全部失效,无法充分利用联合索引。原创 2024-05-12 18:36:08 · 399 阅读 · 0 评论 -
MySQL调优-02数据类型优化
更小更简单,避免NULL。原创 2024-05-08 23:00:37 · 247 阅读 · 0 评论 -
MySQL调优-01反范式化表设计
这种情况下可以多创建一列slot,每次插入随机选择slot来执行update操作,统计的时候只需要sum操作,这样就提高了并发率。反范式化设计提高高并发情况下优化效率,比如网站点击次数、下载次数等;原创 2024-05-08 22:58:23 · 287 阅读 · 0 评论 -
MySQL用户创建和权限分配
GRANT ON 数据库名.表名 TO ‘用户名’@‘localhost’ [IDENTIFIED BY ‘密码’] [WITH GRANT OPTION];create user ‘用户名’ @ ‘host’ identified by '密码’;REVOKE ON 数据库名.表名 FROM ‘用户名’@‘localhost’IDENTIFIED BY ‘密码’ 也是可选的,如果带上,密码是当前用户的密码。drop user ‘用户名’ @ ‘host’;原创 2024-03-06 20:42:19 · 519 阅读 · 0 评论