zoukankan      html  css  js  c++  java
  • mysql优化概述

    设计:    存储引擎的选择,字段类型,范式
    功能:    索引,缓存,分区
    架构:    主从复制,读写分离,负载均衡
    
    合理SQL:测试,经验。
    
    一、存储引擎的选择
    用来存储MYSQL中对象(记录和索引)的一种特定的结构(文件结构)。
    存储引擎,处于MYSQL服务器的最底层,直接存储数据,导致上层的操作,取决于引擎的选择。
    
    查看mysql支持的引擎
    
    show engines;
    1、innodb
    mysql5.5以上默认的存储引擎。
    提供事务,行级锁定,外键约束的存储引擎。
    事务安全型存储引擎,更加注重数据的完整性和安全性。
    
    innodb存储格式
    数据,索引集中存储,存储于同一个表空间文件中。
    数据(记录行)
    索引(一种检索机制,也需要一定的空间)
    创建innodb表后,存在文件有:
    .frm 表结构文件
    ibdata1 就是innodb的表空间文件,存储了数据和索引
    默认,所有的innodb表的表空间文件,都在同一个空间中。
    
    通过配置,可以让每一张innodb表,一个表空间。
    
    > show VARIABLES LIKE 'innodb%';
    > set global innodb_file_per_table=1;
    数据按照主键顺序存储,插入时做排序工作,效率低。
    
    innodb的特定功能
    事务:
    外键约束:
    维护数据完整性。
    
    innodb并发处理
    擅长处理并发的,行级锁定(row-level locking),
    多版本并发控制(MVCC),效果达到无阻塞的读操作。
    
    锁的概念
    当客户端操作表(记录)时,为了保证操作的隔离性(多个客户端操作互不能互相影响),
    通过加锁来处理。
    操作方面:
    读锁:读操作时增加的锁,也叫共享锁。阻塞其他客户端的写操作,不阻塞读操作。
    写锁:写操作时增加的锁,也叫独占锁或排它锁。阻塞其他客户端的读写操作。
    锁定粒度(范围):
    行级:提升并发性,锁本身的开销大。
    表级:不利于并发性,锁本身的开销小。
    
    2、myisam
    低于mysql5.5版本时,mysql的默认引擎。
    ISAM:Indexed Sequential Access Method索引顺序访问方法
    擅长与处理高速读与写操作。
    
    myisam存储方式
    数据,索引分别存储于不同的文件中。
    .frm  数据表结构
    .myd  表数据
    .myi  表索引
    
    数据的存储顺序为插入的顺序,插入速度快,空间占用量小。
    
    myisam功能
    支持全文索引(mysql版本大于5.6,innodb也支持)
    数据的压缩存储,.MYD文件的压缩存储。
    
    进入到要压缩表的数据目录
    
    > myisampack 表名
    (*)注意,压缩后,需要重新修复索引。
    > myisamchk -rq 表名
    压缩优势:节省磁盘空间,减少磁盘IO开销。
    特点:压缩表为只读表。
    如果需要更新,则需要解压后更新,再压缩,重新索引。
    > myisamchk --unpack 表名
    
    myisam并发性
    仅仅支持表级锁定。
    支持并发插入,插入操作不会阻塞读操作(其他操作)。
    
    3、archive
    存档型
    仅提供了插入和查询操作,非常高效,无阻塞的插入和查询。
    
    4、memory
    内存型
    数据存储于内存中的存储引擎,缓存型存储引擎。
    
    二、字段类型的选择
    原则:
    1、在满足需求的情况下,尽可能的占用空间小。
    2、尽可能定长,占用存储空间固定。
    3、尽可能的用整数
    
    三、范式的选择
    建议:满足第三范式。
    有时候我们需要逆范式,提升效率。
    
  • 相关阅读:
    TCP源码—连接建立
    TCP系列02—连接管理—1、三次握手与四次挥手
    TCP系列01—概述及协议头格式
    ubuntu软件管理apt与dpkg
    318. Maximum Product of Word Lengths
    317. Shortest Distance from All Buildings
    316. Remove Duplicate Letters
    315. Count of Smaller Numbers After Self
    314. Binary Tree Vertical Order Traversal
    313. Super Ugly Number
  • 原文地址:https://www.cnblogs.com/jkko123/p/6294665.html
Copyright © 2011-2022 走看看