我是靠谱客的博主 鲤鱼电话,最近开发中收集的这篇文章主要介绍(闭关修炼第一周)MY SQL优化知识点一MY SQL 分层+存储引擎,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

花了一周时间摸了一下MySql的优化,也花了时间做了一张思维导图,如果有需要的同学可以在下面留个言,留个邮箱,在下免费发送给你。因为想要骗个赞和访问量什么的~

MY SQL 分层+存储引擎
    分层
        连接层
            提供与客户端和服务层连接的服务,连接客户端请求和服务层的接口,(相当于springmvc中的disparchelerServlet)
        服务层
            包括缓存查询、解析器、优化器,这一部分是MySQL核心功能,包括解析、优化SQL语句,查询缓存目录,内置函数(日期、时间、加密等函数)的实现。
            提供给连接层各个接口(增删改查)
            提供sql优化器(自动优化某些性能不佳的SQL语句)
        引擎层
            提供各种数据存储的方式
                InnoDB:在MySQL5.5开始作为默认的存储引擎,支持事务,行级锁,适合高并发场景,XA协议支持分布式事务。
                MyISAM:不支持事务,性能优先,表级锁,不适合高并发场景。性能优先
                其他还有很多以上是常用的两种
            负责数据存储,存储引擎的不同,存储方式、数据格式、提取方式等都不相同,这一部分也是很大影响数据存储与提取的性能的;对存储层的抽象。
        存储层
            存储数据,文件系统。
    存储引擎
        存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以 获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎;特别提示:存储引擎针对于数据表
        查看数据库支持的存储引擎:show engines;
            
        查看数据库默认使用哪个引擎,可以通过使用命令: show variables like '%storage_engine%';
            
        一般建表不指定存储引擎-则默认为InnoDB
        创建表并指定存储引擎(MyISAM)
            create table define_table(
                   id int auto_increment,
                   name varchar(10) not null,
                   primary key(id)
                   )engine=myisam;
            数据库的存储引擎是myisam,请一定记住要定时进行碎片整理
                    optimize table tableName;
    面试重点
        1. 事务安全(MyISAM不支持事务,INNODB支持事务)
        2. 外键 MyISAM 不支持外键, INNODB支持外键. 
        3. 锁机制(MyISAM是表锁,innodb是行锁)
        4. 查询和添加速度(MyISAM批量插入速度快)
        5. 支持全文索引(MyISAM支持全文索引,INNODB不支持全文索引)
        6.MyISAM内存空间使用率比InnoDB低
            所以myISAM就要及时整理碎片
对比图(从别人的博客上面扒下来的,忘了是哪个大哥的了,在此说声抱歉)

最后

以上就是鲤鱼电话为你收集整理的(闭关修炼第一周)MY SQL优化知识点一MY SQL 分层+存储引擎的全部内容,希望文章能够帮你解决(闭关修炼第一周)MY SQL优化知识点一MY SQL 分层+存储引擎所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部