MySQL
文章平均质量分 50
MySQL
猿来如此~~
很高兴认识大家!
展开
-
MySQL高级性能优化11---慢查询日志
慢查询日志概述MySQL慢查询日志是MySQL提供的一种日志记录,用来记录在MySQl中响应时间超过阈值(long_query_time),默认10s的查询语句。查询日志相关参数查看是否开启慢查询日志show variables like '%slow_query_log%'开启set global show query_log = 1默认设置后重启失效,永久生效,则修改配置文件阈值查看阈值show variables like 'l原创 2021-09-25 13:41:27 · 186 阅读 · 0 评论 -
MySQL高级性能优化10---主从复制
主从复制什么是主从复制传统数据库中存在的问题传统数据库设计时,如果服务器宕机,会导致数据丢失为了防止数据丢失,要进行实时备份冷备份:通过数据库工具进行人为的导出sql,但是手动导出数据可能在中间节点宕机时也会造成数据丢失主从复制用来建立一个和主数据库完全一样的数据库环境,称为从数据库主从复制的作用做数据的备份,作为后备数据库,主数据库服务器故障后,可以切换到从数据库继续工作,避免数据丢失。架构的扩展,业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,原创 2021-09-13 09:48:19 · 196 阅读 · 0 评论 -
MySQL高级性能优化9---锁
锁概念锁,在现实生活中就是隐藏于外界的一种工具在计算机中就是协调多个进程或线程并发访问某一个资源的一种机制分类按操作分读锁(共享锁)写锁(排他锁)按粒度分表锁偏向MYISAM存储引擎,开销小,加锁快,无死锁,锁定粒度大,发生锁冲突的概率最高,并发最低。整张表就只能一个人使用示例创建一个MYISAM引擎的表查看表有没有被加锁过show open tables对表进行加锁加读锁lock table 表名 read原创 2021-09-10 09:53:17 · 137 阅读 · 0 评论 -
MySQL高级性能优化8---SQL优化
SQL优化索引失效全值匹配(最好情况)表中建立的索引刚好全部用到最佳左前缀法则当有多个索引的时候,如果缺少某个索引,则该索引右边的字段建立的索引都会失效条件查询顺序可以乱,但必须得有不在索引上做任何操作计算,函数,类型转换会导致索引失效而转向全表扫描返回条件右边的索引失效mysql在使用不等于(!=或者<>)的时候无法使用索引会导致全表扫描is not null索引失效少用or,用or连接时,会导致索引失效like以通配符开头(%test)索引失效原创 2021-09-07 14:22:30 · 94 阅读 · 0 评论 -
MySQL高级性能优化7---Explain分析
Explain1.什么是Explain其实就是模拟优化器执行SQL语句,从而让我们知道MYSQL是如何处理我们写的sql语句,进而分析查询语句和表结构的性能瓶颈。2.作用查询表的读取顺序查看哪些索引可以使用以及实际使用查询每张表有多少行被优化器执行查看表之间的引用3.实战分析首先看看在sql前加上explain后的执行效果1.id分析select查询的序列号,包含一组数字,表示查询中执行select子句或操作表的顺序值的三种情况id相同执行顺序由上到下i原创 2021-09-05 10:07:50 · 81 阅读 · 0 评论 -
MySQL高级性能优化6---性能分析
表设计准则满足数据库的三范式数据库的每一列都是不可分割的基本数据项,同一列中不能有多个值每一行的数据能够被唯一区别,比如主键要求一个数据库表中不包含其他表中非主键信息大表拆小表,有大数据的列单独拆成小表MYSQL常见瓶颈CPU饱和磁盘I/O读取数据大小服务器硬件比较低知是行之始,行是知之成...原创 2021-09-03 09:09:09 · 72 阅读 · 0 评论 -
MySQL高级性能优化5---索引
索引1.什么是索引帮助MySQL高效获取数据的数据结构2.为什么要建立索引提高查询效率3.索引的优势和劣势优势提高数据检索的效率,降低数据库的IO成本通过索引对数据进行排序,降低数据排序成本,降低了CPU的消耗劣势占用内存,会以文件形式存储到磁盘上降低了更新表的速率,因为要更新索引列的数据4.索引分类单值索引一个索引只包含一个列,一个表可以有多个单值索引一般来说,一个表建立索引不要超过5个唯一索引索引列的值必须唯一,但原创 2021-08-31 09:40:39 · 92 阅读 · 0 评论 -
MySQL高级性能优化4---优化分析
MySQL优化分析1.sql性能下降的表现执行时间长2.性能下降的原因没有建立索引建立的索引失效关联查询太多join服务器调优和配置参数导致如果设置的不合理,比例不恰当,也会导致性能下降...原创 2021-08-29 20:45:19 · 97 阅读 · 0 评论 -
MySQL高级性能优化3---执行顺序
MySQL执行顺序1.代码编码顺序select distinct 字段 - from 表名 - JOIN 表名- ON 连接条件 - where查询条件 - group by 分组字段 - having 分组后排序 - order by 排序条件 - limit 条数2.MySQL执行顺序from 表名 - ON 连接条件 - JOIN 表名 - where查询条件 - group by 分组字段 - having 分组后排序 - select distinct 字段 - order b原创 2021-08-27 09:30:31 · 90 阅读 · 0 评论 -
MySQL高级性能优化2---存储引擎
存储引擎1.概念MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中每一个技术都是使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同功能和能力。2.查看存储引擎show ENGINES3.查看当前使用的存储引擎show VARIABLES like '%storage_engine%'4.MyISAM和InnoDB的区别主外键MyISAM 不支持InnoDB 支持事务MyISAM 不支持InnoDB 支持行表锁MyISAM原创 2021-08-25 09:01:31 · 113 阅读 · 0 评论 -
MySQL高级性能优化1---逻辑结构
MySQL高级性能优化—逻辑结构1.总体分层连接层与客户端进行连接的服务完成一些类似连接处理,授权认证以及相关安全方案引入连接池概念服务层提供核心的服务功能如果sql接口,完成缓存的查询,sql的分析和优化部分以及内置函数的执行所有跨存储引擎的功能都在这一层实现引擎层存储引擎真正负责MYSQL中数据的存储和提取,服务器通过API与存储引擎进行通讯不同的存储引擎提供的功能不同,可以根据自己对的时机需求来进行选取存储层主要将数据存储在运行的计算机文件系统之上,原创 2021-08-23 10:44:16 · 136 阅读 · 0 评论