Monty说MySQL的优化(四)

筱小呢

筱小呢

2016-02-19 18:01

下面图老师小编跟大家分享Monty说MySQL的优化(四),一起来学习下过程究竟如何进行吧!喜欢就赶紧收藏起来哦~

  十六、MySQL如何次存储数据

  数据库以目录存储。

  表以文件存储。

  列以变长或定长格式存储在文件中。对BDB表,数据以页面形式存储。

  支持基于内存的表。

  数据库和表可在不同的磁盘上用符号连接起来。

  在Windows上,MySQL支持用.sym文件内部符号连接数据库。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  十七、MySQL表类型

  HEAP表:固定行长的表,只存储在内存中并用HASH索引进行索引。

  ISAM表:MySQL 3.22中的早期B-tree表格式。

  MyIASM:IASM表的新版本,有如下扩展:

  二进制层次的可移植性。

  NULL列索引。

  对变长行比ISAM表有更少的碎片。

  支持大文件。

  更好的索引压缩。

  更好的键吗统计分布。

  更好和更快的auto_increment处理。

  来自Sleepcat的Berkeley DB(BDB)表:事务安全(有BEGIN WORK/COMMIT|ROLLBACK)。

  十八、MySQL行类型(专指IASM/MyIASM表)

  如果所有列是定长格式(没有VARCHAR、BLOB或TEXT),MySQL将以定长表格式创建表,否则表以动态长度格式创建。

  定长格式比动态长度格式快很多并更安全。

  动态长度行格式一般占用较少的存储空间,但如果表频繁更新,会产生碎片。

  在某些情况下,不值得将所有VARCHAR、BLOB和TEXT列转移到另一个表中,只是获得主表上的更快速度。

  利用myiasmchk(对ISAM,pack_iasm),可以创建只读压缩表,这使磁盘使用率最小,但使用慢速磁盘时,这非常不错。压缩表充分地利用将不再更新的日志表

  十九、MySQL高速缓存(所有线程共享,一次性分配)

  键码缓存:key_buffer_size,默认8M。

  表缓存:table_cache,默认64。

  线程缓存:thread_cache_size,默认0。

  主机名缓存:可在编译时修改,默认128。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  内存映射表:目前仅用于压缩表。

  注意:MySQL没有行高速缓存,而让操作系统处理。

  二十、MySQL缓存区变量(非共享,按需分配)

  sort_buffer:ORDER BY/GROUP BY

  record_buffer:扫描表。

  join_buffer_size:无键联结

  myisam_sort_buffer_size:REPAIR TABLE

  net_buffer_length:对于读SQL语句并缓存结果。

  tmp_table_size:临时结果的HEAP表大小。

展开更多 50%)
分享

猜你喜欢

Monty说MySQL的优化(四)

编程语言 网络编程
Monty说MySQL的优化(四)

Monty说MySQL的优化(三)

编程语言 网络编程
Monty说MySQL的优化(三)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Monty说MySQL的优化(二)

编程语言 网络编程
Monty说MySQL的优化(二)

Monty说MySQL的优化(六)

编程语言 网络编程
Monty说MySQL的优化(六)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Monty说MySQL的优化(七)

编程语言 网络编程
Monty说MySQL的优化(七)

Monty说MySQL的优化(五)

编程语言 网络编程
Monty说MySQL的优化(五)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

经典内涵qq签名

经典内涵qq签名

HTML5中语义化 b 和 i 标签

HTML5中语义化 b 和 i 标签
下拉加载更多内容 ↓