随笔分类 -  MySQL学习总结

摘要:索引的原理就不过多介绍了,可以看之前的文章:Innodb索引 在使用过程中,会有很多导致索引失效的操作,来看以下几种案例: 1、不满足联合索引最左匹配原则 联合索引要正确使用需满足最左匹配原则,即:符合第一列才会继续判断后面的字段。 比如创建联合索引(a,b,c),以下情况都可以走索引: where 阅读全文
posted @ 2022-01-24 11:16 jingyi_up 阅读(441) 评论(0) 推荐(0) 编辑
摘要:1、100G内存下,MySQL查询200G大表会OOM么? MySQL的server层不会将所有结果集都查出来放入内存中,而是查出一部分放入net_buffer中(默认大小16k),net_buffer写满就会调用网络接口发送给到本地网络栈(socket send buffer),写完就会情况net 阅读全文
posted @ 2021-12-31 22:13 jingyi_up 阅读(27) 评论(0) 推荐(0) 编辑
摘要:1、分页查询优化 分页查询徒弟列表: select * from user_friends where master_id = #{masterId} and status = #{status} order by create_time desc limit #{start},#{pageSize 阅读全文
posted @ 2020-08-24 21:23 jingyi_up 阅读(12) 评论(0) 推荐(0) 编辑
摘要:1、优化思路 说到数据库性能优化,一般情况下是为了让查询速度更快。一个查询的动作由很多个环节组成,每个环节都会消耗时间,要提高查询效率,就要从每一个环节入手。 2、连接——配置优化 第一个环节是客户端连接到服务端,连接可能出现什么样的性能问题呢?有可能是服务端连接数不够导致应用程序获取不到连接,比如 阅读全文
posted @ 2020-05-13 21:11 jingyi_up 阅读(56) 评论(0) 推荐(0) 编辑
摘要:1、锁的类型 官网把锁分成8类,如下: 第一个是行级别的锁(包括共享锁和排他锁),第二个是表级别的锁(也叫意向锁,也有意向共享锁和意向排他锁),后面三个Record Locks、Gap Locks、Next-Key Locks,把它们叫做锁的算法,也就是分别在什么情况下锁定什么范围。 2、表锁和行锁 阅读全文
posted @ 2020-05-13 15:31 jingyi_up 阅读(43) 评论(0) 推荐(0) 编辑
摘要:1、什么是数据库事务 (1)使用场景 比如下单,会操作订单表,资金表,物流表等等,这个时候需要让这些操作都在一个事务里面完成。当一个业务流程涉及多个表的操作的时候,我们希望它们要么是全部成功的,要么都不成功,这个时候就会启用事务。又比如行内转账的这种操作,如果把它简单地理解为一个账户的余额增加,另一 阅读全文
posted @ 2020-05-11 21:12 jingyi_up 阅读(74) 评论(0) 推荐(0) 编辑
摘要:1、索引类型 在Innodb里面,索引有三种类型:普通索引,唯一索引(主键索引是特殊的唯一索引)、全文索引。 普通索引(normal):也叫非唯一索引,是最普通的索引,没有任何限制。 唯一索引(unique):要求键值不能重复。主键索引是一种特殊的唯一索引,还多了一个限制条件,要求键值不能为空。主键 阅读全文
posted @ 2020-05-08 21:24 jingyi_up 阅读(35) 评论(0) 推荐(0) 编辑
摘要:1、MySQL体系结构 (1)模块详解 Connector:用来支持各种语言和SQL的交互,如java的JDBC。 Management Services & Utilties:系统管理和控制工具,包括备份恢复、MySQL复制、集群等。 Connection Pool:连接池,管理需要缓冲的资源。 阅读全文
posted @ 2020-05-08 17:34 jingyi_up 阅读(39) 评论(0) 推荐(0) 编辑
摘要:1、MySQL通信 (1)同步和异步 * 同步:同步通信依赖于被调用方,受限于被调用方的性能。应用操作数据库,线程会阻塞,等待数据库的返回。 * 异步:异步可以避免应用阻塞,但是一个连接就会创建一个线程,线程间切换会占用大量CPU资源。而且异步通信会带来编码的复杂度,一般不建议使用,如果要使用异步, 阅读全文
posted @ 2020-05-07 21:30 jingyi_up 阅读(28) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示