MySQL学习(一)

守給你的承諾、 提交于 2019-12-03 07:29:06

配置文件:

  二进制日志  log-bin   主从复制

  错误日志   log-err    默认是关闭的,记录严重警告和错误信息,看Mysql从启动到开工到关闭整个生命周期

  查询日志      log    默认关闭,记录查询的sql语句,如果开启会减低Mysql整体性能

 

  数据文件:

    frm文件:存放表结构

    myd文件:存放表数据

    myi文件:存放表索引

 

Mysql逻辑架构介绍;

  mysql的查询流程大致是:

    1.mysql客户端通过协议与mysql服务器建立连接,发送查询语句,先检查查询缓存,如果命中,直接返回结果,否则进行语句解析

    2.有一系列预处理,比如检查语句是否写正确了,然后是查询优化(比如是否使用索引扫描,如果是一个不可能的条件,则提前终止),生成查询计划,然后查询引擎启动,开始执行查询,从底层存储引擎调用API获取数据,最后返回给客户端,怎么存数据、怎么取数据,斗鱼存储引擎有关。

    3.然后,mysql默认使用的BTREE索引,并且一个大方向是,无论怎么折腾sql,至少在目前来说,mysql最多只用到表中的一个索引

 

MyISAM  和 InnoDB 

 

 

 

Mysql 性能因素:

   1.业务需求对mysql的影响(和适合度)

   2.存储定位对mysql的影响

    不适合放进Mysql的数据:

      二进制多媒体数据

      流水队列数据

      超大文本数据

    需要放进缓存的数据:

      系统各种配置及规则数据

      活跃用户的基本信息数据

      活跃用户的个性化定制信息数据

      准实时的 统计信息数据

      其他一些访问频繁但变更较少的数据

   3.Schema设计对系统的性能印象

      尽量减少对数据库访问的请求

      尽量减少无用数据的查询请求

      p2p中user_main 和我的账户金额冗余问题

 

 

 

 

 

 

 

 

 

 

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!