您现在的位置: 主页 > www.hk7555.com > 正文

www.hk7555.com

  • 你好你有一份MySQL性能管理及架构设计指南待领取

    时间:2019-09-04

  •   Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。

      TPS:是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。

      查询字区分度低 - 要在大数据量的表中筛选出来其中一部分数据会产生大量的磁盘io - 降低磁盘效率

      未提交读(READ UNCOMMITED) 脏读,两个事务之间互相可见;

      已提交读(READ COMMITED)符合隔离性的基本概念,一个事务进行时,其它已提交的事物对于该事务是可见的,即可以获取其它事务提交的数据。

      可重复读(REPEATABLE READ) InnoDB的默认隔离等级。事务进行时,其它所有事务对其不可见,即多次执行读,得到的结果是一样的!

      可串行化(SERIALIZABLE)在读取的每一行数据上都加锁,会造成大量的锁超时和锁征用,严格数据一致性且没有并发是可使用。

      ④持久性(DURABILITY):从数据库的角度的持久性,磁盘损坏就不行了

      .frm :是服务器层面产生的文件,类似服务器层的数据字典,记录表结构。

      或者Alter table同样可以的转移,但是无法回收系统表空间中占用的空间。

      1)特性一:事务性存储引擎及两个特殊日志类型:Redo Log和Undo Log

      Undo Log:未提交的事务,独立于表空间,需要随机访问,可以存储在高性能io设备上。

      Undo日志记录某数据被修改前的值,可以用来在事务失败时进行rollback;Redo日志记录某数据块被修改后的值,可以用来恢复未写入data file的已成功事务更新的数据。

      MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关。

      内存的使用上限不能超过物理内存,否则容易造成内存溢出;(对于32位操作系统,MySQL只能试用3G以下的内存。)确定MySQL的每个连接单独使用的内存。

      sort_buffer_size #定义了每个线程排序缓存区的大小,MySQL在有查询、需要做排序操作时才会为每个缓冲区分配内存(直接分配该参数的全部内存);

      join_buffer_size #定义了每个线程所使用的连接缓冲区的大小,如果一个查询关联了多张表,MySQL会为每张表分配一个连接缓冲,导致一个查询产生了多个连接缓冲;

      read_buffer_size #定义了当对一张MyISAM进行全表扫描时所分配读缓冲池大小,MySQL有查询需要时会为其分配内存,其必须是4k的倍数;

      read_rnd_buffer_size #索引缓冲区大小,MySQL有查询需要时会为其分配内存,只会分配需要的大小。

      ①MySQL是单进程多线程(而oracle是多进程),也就是说MySQL实例在系统上表现就是一个服务进程,即进程;

      一般情况下一个实例操作一个或多个数据库;集群情况下多个实例操作一个或多个数据库。

      Innodb_buffer_pool_size,蓝月亮高手坛yy翻牌抽月票在哪,定义了Innodb所使用缓存池的大小,对其性能十分重要,必须足够大,但是过大时,使得Innodb 关闭时候需要更多时间把脏页从缓冲池中刷新到磁盘中;

      key_buffer_size,定义了MyISAM所使用的缓存池的大小,由于数据是依赖存储操作系统缓存的,所以要为操作系统预留更大的内存空间;

      减少数据冗余:(数据冗余是指在数据库中存在相同的数据,或者某些数据可以由其他数据计算得到),注意,尽量减少不代表完全避免数据冗余;

      逻辑设计(重要):设计数据的逻辑存储结构。数据实体之间的逻辑关系,解决数据冗余和数据维护异常。数据范式可以帮助我们设计;物理设计:表结构设计,存储引擎与列的数据类型;

      唯一索引:与普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。

      索引可以帮助我们进行排序以避免使用临时表;索引可以把随机I/O变为顺序I/O。

      Innodb索引列最大宽度为667个字节(utf-8 差不多255个字符),MyIsam索引类宽度最大为1000个字节,于是出现前缀索引,索引的选择性。

      经常会被使用到的列优先(选择性差的列不适合,如性别,查询优化器可能会认为全表扫描性能更好);

      选择性高的列优先;宽度小的列优先(一页中存储的索引越多,降低I/O,查找越快);

      可以减少随机IO,变随机IO操作变为顺序IO操作;可以避免对InnoDB主键索引的二次查询;

      注:主键约束相当于(唯一约束 + 非空约束)一张表中最多有一个主键约束,如果设置多个主键,就会出现如下提示:Multiple primary key defined!!!

      Using index:表示直接访问索引就足够获取到所需要的数据,不需要通过索引回表,如覆盖索引;

      slow_query_log_file # 指定慢查日志的存储路径及文件,日志存储和数据从存储应该分开存储

      一条查询可以有多种查询方式,查询优化器会对每一种查询方式的(存储引擎)统计信息进行比较,找到成本最低的查询方式,这也就是索引不能太多的原因。

      利用主从复制,先对从服务器进入修改,然后主从切换。添加一个新表(修改后的结构),老表数据导入新表,老表建立触发器,修改数据同步到新表,老表加一个排它锁(重命名),新表重命名,删除老表。

      声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。

红姐心水论坛| 管家婆免费心水论坛| 本港台开奖现场直播室视频直播| 宝马会全讯网| 百期错三杀一波公式| 中彩网高手论坛| 香港特码王管家婆彩图| 彩民村心水之家彩民水之家| 一肖中平特高手论坛| 蝴蝶梦仙阁一肖高手|