![](https://img-blog.csdnimg.cn/20210127220345505.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
性能调优
文章平均质量分 93
性能调优专题
素净小凡人
一个在后端路上的小程序猿
展开
-
现代计算机理论模型与工作原理
文章目录一、现代计算机理论模型与工作方式1.1计算机五大核心组成部分1.1.1CPU内部结构划分1.1.2多CPU1.1.3CPU多核二.多线程环境下存的问题1.缓存一致性问题2.指令重排序问题一、现代计算机理论模型与工作方式现代计算机模型是基于-冯诺依曼计算机模型计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存 储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下 来,再取出第二条指令,在控制器的指挥下完成规定操作。依此进行下去。直至遇到原创 2021-01-30 19:57:15 · 2883 阅读 · 1 评论 -
MySQL中的锁和事务隔离级别
一、锁定义锁是计算机协调多个进程或线程并发访问某一资源的机制。 在数据库中,除了传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供需要用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个 重要因素二、锁分类从性能上分为乐观锁(用版本对比来实现)和悲观锁从对数据库操作的类型分,分为读锁和写锁(都属于悲观锁)读锁(共享锁):针对同一份数据,多个读操作可以同时进行而不会互相影响写锁(排它锁):当前写操原创 2021-01-29 21:28:14 · 355 阅读 · 0 评论 -
分页、关联查询优化
文章目录一、分页查询示例1.分页查询优化1.1 根据自增且连续的主键排序的分页查询1.2 根据非主键字段排序的分页查询二、Join关联查询优化1.Join关联查询示例表2.常见表关联算法2.1 嵌套循环连接 Nested-Loop Join(NLJ) 算法2.2 基于块的嵌套循环连接 Block Nested-Loop Join(BNL)算法3.对于关联sql的优化4.in和exsits优化三、count(*)查询优化count(*)查询优化方法1、查询mysql自己维护的总行数2、show table s原创 2021-01-29 21:13:40 · 735 阅读 · 0 评论 -
排序、分组SQL深度优化
文章目录一、Order by与Group by优化示例一示例二示例三示例四示例五优化总结:二、Using filesort文件排序原理详解一、Order by与Group by优化示例一 EXPLAIN select * from employees where name ='LiLei' and position ='dev' ORDER BY age分析:利用最左前缀法则:中间字段不能断,因此查询用到了name索引,从key_len=74也能看出,age索引列用 在排序过程中,因为Ext原创 2021-01-29 20:28:46 · 739 阅读 · 0 评论 -
怎样让你的SQL使用最佳索引!
文章目录一.示例表二、索引使用情况1.全值匹配2.最左前缀法则3.不在索引列上做任何操作4.存储引擎不能使用索引中范围条件右边的列5.尽量使用覆盖索引,减少select *语句6.!=或者<> 无法使用索引会导致全表扫描7.is null,is not null 也无法使用索引8.尽量避免like以通配符开头9.字符串不加单引号索引失效10.少用or或in11.范围查询优化三、Mysql如何选择合适的索引1.trace工具用法:四、总结:一.示例表示例表: CREATE TABLE `e原创 2021-01-29 19:58:41 · 535 阅读 · 0 评论 -
MyISAM、InnoDB与联合索引
文章目录一、聚集索引与非聚集索引二、MyISAM三、InnoDBInnoDB必须要有主键,并且推荐使用整型自增主键三、 联合索引如何实现递增一、聚集索引与非聚集索引聚集索引:聚集索引就是索引和数据存储在一块的如InnoDB聚集索引有时候也叫聚簇索引非聚集索引:非聚集索引就是索引和数据分开存储如MyISAM二、MyISAM采用MyISAM在磁盘中是怎样存储的呢?MyISAM索引文件和数据文件是分开的(非聚集),存储引擎在磁盘中文件有三个,一个是 .frm 文件(数据表定义),一个是原创 2021-01-27 21:37:58 · 566 阅读 · 0 评论 -
B+Tree索引为什么支持千万级别数据查找?
文章目录一、什么是索引二、索引数据结构1.二叉树二叉树索引存在的问题2.红黑树红黑树当索引的问题3、Hash表Hash表存在的问题MySQL支持Hash当索引4、B-TreeB-Tree存在问题5、B+Tree结构优点范围查找一、什么是索引索引是帮助MySQL搞笑获取数据的排好序的数据结构在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以原创 2021-01-27 21:22:17 · 885 阅读 · 0 评论