mysql优化
Lei_Da_Gou
这个作者很懒,什么都没留下…
展开
-
mysql优化之(初识mysql优化)
如何提高MySQL的性能?需要优化,则说明效率不够理想.因此我们首先要做的,不是优化,而是---诊断.治病的前提,是诊病,找出瓶颈所在. CPU,内存,IO? 峰值,单条语句?合理安排资源、调整系统参数使MySQL运行更快、更节省资源。 优化是多方面的,包括查询、更新、服务器等。 原则:减少系统瓶颈,减少资源占用,增加系统的反应速度。 mysq语句的查询优化explain等。...原创 2019-04-22 10:57:55 · 204 阅读 · 0 评论 -
红黑树和AVL树(平衡二叉树)区别
一,AVL树(平衡二叉树)(1)简介AVL树是带有平衡条件的二叉查找树,一般是用平衡因子差值判断是否平衡并通过旋转来实现平衡,左右子树树高不超过1,和红黑树相比,AVL树是严格的平衡二叉树,平衡条件必须满足(所有节点的左右子树高度差不超过1)。不管我们是执行插入还是删除操作,只要不满足上面的条件,就要通过旋转来保持平衡,而它的英文旋转非常耗时的,由此我们可以知道AVL树适合用于插入与删除次...转载 2019-06-28 15:19:55 · 647 阅读 · 0 评论 -
mysql优化之(索引、优化)
MySQL体系架构 连接池组件、管理服务和工具组件、SQL接口组件、查询分析器组件、优化器组件、缓冲组件、插件式存储引擎、物理文件; 1、连接层:主要完成一些类似于连接处理,授权认证及相关的方案; 2、服务层:主要完成大多数核心服务功能; 3、引擎层:负责MySQL中数据的存储和提取,服务器通过API与存储引擎进行通信; 注:储存引擎式基...转载 2019-05-13 11:14:12 · 105 阅读 · 0 评论 -
mysql优化之(101个优化技巧)
MySQL 服务器硬件和操作系统调节:1. 拥有足够的物理内存来把整个InnoDB文件加载到内存中——在内存中访问文件时的速度要比在硬盘中访问时快的多。2. 不惜一切代价避免使用Swap交换分区 – 交换时是从硬盘读取的,它的速度很慢。3. 使用电池供电的RAM(注:RAM即随机存储器)。4. 使用高级的RAID(注:Redundant Arrays of Inexpensive Dis...转载 2019-05-07 16:49:22 · 131 阅读 · 0 评论 -
mysql优化之(认识Myisam和Innodb引擎保存索引的方式)
目录一 存储引擎作用于什么对象二 MyISAM和InnoDB对索引和数据的存储在磁盘上是如何体现的三 MyISAM主键索引与辅助索引的结构1. 主键索引:2. 辅助(非主键)索引:四 InnoDB主键索引与辅助索引的结构1. 主键索引:2. 辅助(非主键)索引:五 InnoDB索引结构需要注意的点PS:为了更好地理解本文内容,我强烈建议先阅读完...转载 2019-05-07 16:41:42 · 196 阅读 · 0 评论 -
mysql优化之(听从mysql的意见PROCEDURE ANALYSE())
SELECT * FROM d_paid PROCEDURE ANALYSE();如下图,末尾即为mysql的意见。需要注意的是:mysql的意见的前提是你数据库中已经有大量数据了。原创 2019-05-07 15:32:03 · 214 阅读 · 0 评论 -
mysql优化之(查询缓存)
一:缓存条件,原理MySQL Query Cache是用来缓存我们所执行的SELECT语句以及该语句的结果集,MySql在实现Query Cache的具体技术细节上类似典型的KV存储,就是将SELECT语句和该查询语句的结果集做了一个HASH映射并保存在一定的内存区域中。当客户端发起SQL查询时,Query Cache的查找逻辑是,先对SQL进行相应的权限验证,接着就通过Query Cache来...转载 2019-05-09 13:24:20 · 544 阅读 · 0 评论 -
mysql优化之(待测试的操作)
1.分组统计可以禁止排序默认情况下,MySQL对所有GROUP BY col1,col2…的字段进行排序。如果查询包括GROUP BY,想要避免排序结果的消耗,则可以指定ORDER BY NULL禁止排序。使用order by null前:使用order by null后:当然把p_year加上索引后、临时表也会消失。2.单独使用orderby索引用不到,加上...原创 2019-05-03 11:21:17 · 170 阅读 · 0 评论 -
mysq优化之(通用查询和慢查询日志分析)
关于MySQL 通用查询日志和慢查询日志分析(1)通用查询日志一、通用查询日志设置二、通用查询日志查看(2)慢查询日志 一、慢查询日志的设置二:slow log的日志相关参数详解三:如何在线安全的清空慢查询日志四:慢日志分析工具 mysqldumpslow和mysqls...转载 2019-05-03 11:05:29 · 313 阅读 · 0 评论 -
mysq优化之(快速复制一张大数据的表)
方式一:先导出、再导入(关闭唯一验证、关闭自动提交、使用LOAD DATA INFILE)SELECT * INTO OUTFILE 'D:\\d_paid.txt' FROM d_paidLOAD DATA INFILE 'D:\\d_paid.txt' INTO TABLE d_paid2导出花费时间:导入花费时间:一千万条数据只花了两分多钟,这里忘记截图了(关闭了...原创 2019-05-03 11:00:42 · 1281 阅读 · 1 评论 -
mysq优化之(char和varchar)
总结:char的设计提高查询速度,varchar的设计节省空间。(在表设计合理的情况下)适合存储很短的字符串、且对于经常变更的数据,char比varchar好(因为varchar会涉及碎片问题,变更的长度大于指定的长度才会出现。)字符较固定的字段使用char,字符大于60建议使用varchar,因为大于这个长度的字符可能时间的节省大多使建立在空间的基础上的。网上经常看到char(100)和...转载 2019-05-02 21:10:03 · 736 阅读 · 0 评论 -
mysql优化之(show processlist、show full processlist)
show processlist和show full processlistprocesslist命令的输出结果显示了有哪些线程在运行,不仅可以查看当前所有的连接数,还可以查看当前的连接状态帮助识别出有问题的查询语句等。如果是root帐号,能看到所有用户的当前连接。如果是其他普通帐号,则只能看到自己占用的连接。showprocesslist只能列出当前100条。如果想全部列出,可以使用SH...转载 2019-04-23 15:02:45 · 1139 阅读 · 0 评论 -
mysql优化之(索引为什么会选择B+树存储及平衡二叉树插入实现)
说明:mysql底层使用的时B+树,mysql索引是放在磁盘上面的,因此每次读取索引时通过IO从磁盘读取。1、hash索引:无规则、不能排序2、二叉树:解决hash索引不能排序问题,但是当数据有序时会出现线性排列,树的深度会变得很深,会消耗大量IO。3、平衡二叉树:解决二叉树数据有序时出现的线性插入树太深问题,树的深度会明显降低,极大提高性能,但是当数据量很大时,一般mysql中一张表...原创 2019-05-01 23:07:45 · 1117 阅读 · 0 评论 -
mysql优化之(复合索引)
复合索引最多可以容纳16个字段这里有个误区:索引userid_pid和pid_userid是两个不同的索引。如果使用userid作为条件,则userid_pid的符合索引可以被使用。但是pid_userid不会被使用到。因此如果再创建一个userid是多余的操作。...原创 2019-04-22 16:32:00 · 278 阅读 · 0 评论 -
mysq优化之(explain各属性说明)
1.idSELECT识别符。这是SELECT查询序列号。这个不重要。2.select_tye表示SELECT语句的类型。SIMPLE:表示简单查询,其中不包含连接查询和子查询。PRIMARY:主查询,或者是最外面的查询语句。DERIVED:from类型的子查询-派生表。SUBQUERY:非from类型的子查询。3.table表示要查询的表4.type...原创 2019-04-22 15:16:01 · 195 阅读 · 0 评论 -
mysql优化之(use temporary、use filesort)
目录一、use temporary二、use filesort三、extra的其它字段说明一、use temporary 为了解决查询,MySQL需要创建一个临时表来容纳结果。use temporary产生条件: 如果GROUP BY 的列没有索引,产生临时表. 如果GROUP BY时,SELECT的列不止GROUP BY列一个,并且GROUP...原创 2019-04-22 13:57:39 · 5153 阅读 · 0 评论 -
mysql优化之(sql的执行顺序)
网上搜索得知内联表查询一般的执行过程是:1、执行FROM语句2、执行ON过滤3、添加外部行4、执行where条件过滤5、执行group by分组语句6、执行having7、select列表8、执行distinct去重复数据9、执行order by字句10、执行limit字句(1) from < left_table> (3) < join...转载 2019-04-22 13:28:08 · 439 阅读 · 0 评论 -
mysql优化之(定位到需要优化的sql语句)
是周期性的变化还是偶尔问题?是服务器整体性能的问题, 还是某单条语句的问题?具体到单条语句, 这条语句是在等待上花的时间,还是查询上花的时间.监测并观察服务器的状态.1:观察服务器状态, 一般用如下2个命令,Show status; Show processlist;2:也可以通过druid对数据库监控进行观察3:也可以通过记录慢查询日志观察最好的优化:不查...原创 2019-04-22 11:17:10 · 173 阅读 · 0 评论 -
BST树、RBT树、AVL树、B树、B+树、B*树
BST树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); &nb...转载 2019-06-28 15:28:30 · 414 阅读 · 0 评论