• MySQL知识


    MySQL四层分层:(自上往下执行)
    连接层:提供预客户端连接的服务。
    服务层: 1.提供各种用户使用的接口 
                   2.提供各种sql优化器(mysql如果发现你自己的sql写的太烂,会自动帮你优化)
    引擎层:  INNODB:事务优先   ( 适合高并发操作,使用的是行锁)
                     MYISAM:  性能有限    (使用的是表锁)
    存储层:  存储数据   
     
    查询数据库的引擎:                       SHOW VARIABLES LIKE '%storage_engine%'
    查询数据库支持的引擎 :                 SHOW engines
     
     
    为什么要SQL优化原因:
    性能低,执行事件太长,等待时间太长,sql语句欠佳(连接查询),索引失效,服务器参数设置不合理
    一般SQL编写过程
                  select  ... distinct  ...  from  ...  join  on  ...  where   ...  group by  ... having  ...  order
     
    SQL的解析过程
                 from  ...  on  ...  join   ...  where ...  group by  ...  having   ...   select  ...  distinct  ...  order
     
    sql如何进行优化,主要是索引的 优化
            索引:  相当于书的目录(排好序,加快速度)
            索引:  index是帮助mysql高效获取数据的数据结构。索引是数据结构(b+)
     
            索引的弊端:
                    1.索引本身很大,可以存放内存/硬盘
                    2.索引不是所有情况都使用       (少量数据,频繁更新的字段,很少使用的字段,一般不使用索引)
                    3.索引会降低增删改的效率
     
     
    索引分类:
                1.主键索引:不能重复,id    不能为null
                2.唯一索引:不能重复,id    可以是null
                3.单键索引 ,age  :一个表可以多个单键索引
                4.复合索引:多个列构成的索引(相当于  二级目录:)不一定要两个都要命中
     
    创建索引
                1.单键索引       create index bobo on emp(name)
                2.唯一索引       create unique index bobo on emp(name)
                3.复合索引       create index bobo on emp(name,age)
     
    修改索引
                a。单键索引       alter table emp add index bobo(name)
                b。唯一索引       alter table emp add unique index bobo(name)
                c。复合索引       alter table emp add  index bobo(name,age)
     
    删除索引:
                drop index bobo on emp
     
    查询索引:
                show index from emp
    事务只对DML有效,对DDL无效,故删除索引无需commit
     
     
    SQL性能问题
            1.分析SQL的执行计划    explain可以模拟sql执行优化器,从而让开发人员可以知道自己编写sql的状况
            2.MYSQL查询优化会干扰我们的优化
     
     
     
  • 相关阅读:
    em,pt和px之间的换算
    css中 中文字体(fontfamily)的标准英文名称
    HTML css面试题
    css实现的透明三角形
    JavaScript经典面试题系列
    C++ template 学习笔记(第二章)
    C++ template 学习笔记 (第五章)
    20120906
    C++ template 学习笔记(第十六章) 16.1 命名模版参数
    C++ template 学习笔记(第三,四章)
  • 原文地址:https://www.cnblogs.com/Jemb/p/11577559.html
Copyright © 2020-2023  润新知