个人经验总结:MySQL数据库优化技巧集锦
索引,而只索引列的一个前缀以节省存储空间。CREATE TABLE table_name (hostname CHAR(255) not null, index(hostname(10)))
对每个表使用最有效的表格式。 在不同表中保存相同信息的列应该有同样的定义并具有相同的列名。
十六、MySQL如何次存储数据
表以文件存储。 列以变长或定长格式存储在文件中。对BDB表,数据以页面形式存储。 支持基于内存的表。 数据库和表可在不同的磁盘上用符号连接起来。 在Windows上,MySQL支持用.sym文件内部符号连接数据库。
十七、MySQL表类型
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列转移到另一个表中,只是获得主表上的更快速度。 利用myiasmchk(对ISAM,pack_iasm),可以创建只读压缩表,这使磁盘使用率最小,但使用慢速磁盘时,这非常不错。压缩表充分地利用将不再更新的日志表
表缓存:table_cache,默认64。 线程缓存:thread_cache_size,默认0。 主机名缓存:可在编译时修改,默认128。 内存映射表:目前仅用于压缩表。 注意:MySQL没有行高速缓存,而让操作系统处理。
record_buffer:扫描表。 join_buffer_size:无键联结 myisam_sort_buffer_size:REPAIR TABLE net_buffer_length:对于读SQL语句并缓存结果。 tmp_table_size:临时结果的HEAP表大小。
二十一、MySQL表高速缓存工作原理
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |