美文网首页
Mysql数据表的优化

Mysql数据表的优化

作者: CaesarXia | 来源:发表于2016-05-23 15:50 被阅读23次

优化表的数据类型
表需要使用何种数据类型,是需要根据应用来判断的。虽然应用设计的时候需要考虑字段的长度留有一定的冗余,但是不推荐让很多字段都留有大量的冗余,这样即浪费存储也浪费内存。我们可以使用PROCEDURE ANALYSE()对当前已有应用的表类型的判断,该函数可以对数据表中的列的数据类型提出优化建议,可以根据应用的实际情况酌情考虑是否实施优化。语法: SELECT * FROM tbl_name PROCEDURE ANALYSE(); SELECT * FROM tbl_name PROCEDURE ANALYSE(16,256);输出的每一列信息都会对数据表中的列的数据类型提出优化建议。第二个例子告诉PROCEDURE ANALYSE()不要为那些包含的值多于16个或者256字节的ENUM类型提出建议。如果没有这样的限制,输出信息可能很长;ENUM定义通常很难阅读。在对字段类型进行优化时,可以根据统计信息并结合应用的实际情况对其进行优化。通过拆分,提高表的访问效率
这里我们所说的拆分,主要是针对Myisam类型的表,拆分的方法可以分成两种情况:1) 纵向拆分:纵向拆分是只按照应用访问的频度,将表中经常访问的字段和不经常访问的字段拆分成两个表,经常访问的字段尽量是定长的,这样可以有效的提高表的查询和更新的效率。2) 横向拆分:横向拆分是指按照应用的情况,有目的的将数据横向拆分成几个表或者通过分区分到多个分区中,这样可以有效的避免Myisam表的读取和更新导致的锁问题。逆规范化
数据库德规范化设计强调数据的独立性,数据应该尽可能少地冗余,因为存在过多的冗余数据,这就意味着要占用了更多的物理空间,同时也对数据的维护和一致性检查带来了问题。但是对于查询操作很多的应用,一次查询可能需要访问多表进行,如果通过冗余纪录在相同表中,更新的代价增加不多,但是查询操作效率可以有明显提高,这种情况就可以考虑通过冗余数据来提高效率。使用冗余统计表
使用create temporary table语法,它是基于session的表,表的数据保存在内存里面,当session断掉后,表自然消除。对于大表的统计分析,如果统计的数据量不大,利用insert, select将数据移到临时表中比直接在大表上做统计要效率更高。选择更合适的表类型
1、如果应用出现比较严重的锁冲突,请考虑是否更改存储引擎到innodb,行锁机制可以有效的减少锁冲突的出现。2、如果应用查询操作很多,且对事务完整性要求不严格,则可以考虑使用Myisam存储引擎。

相关文章

  • 千万级MySQL数据库建立索引,提高性能的秘诀

    实践中如何优化MySQL 实践中,MySQL的优化主要涉及SQL语句及索引的优化、数据表结构的优化、系统配置的优化...

  • MySQL Tips

    由 mysql 推荐优化的数据表结构 mysq 根据实际数据表的数据情况,推荐优化的字段类型。当然机器是机器,不一...

  • Mysql数据表的优化

    优化表的数据类型表需要使用何种数据类型,是需要根据应用来判断的。虽然应用设计的时候需要考虑字段的长度留有一定的冗余...

  • face 38 mysql数据库层的优化

    mysql数据库层的优化 穿透缓存层 优化方向 数据表数据类型优化 字段使用什么样的数据类型更合适 字段使用什么样...

  • 「mysql优化专题」你们要的多表查询优化来啦!请查收(4)

    上一篇讲的是单表查询的优化,没看过的朋友可以关注后查看【mysql优化专题】。当然,对数据表的多表查询也是必不可少...

  • thinkphp 生成海量文章数据表

    当我们在需要学习MySQL优化时,需要一个海量表来进行测试,没一个海量的MySQL数据表怎么行,这时,可以通过下面...

  • MySQL优化层面

    (2)、从系统层面增强mysql的性能:优化数据表结构、字段类型、字段索引、分表,分库、读写分离等等。 (3)、从...

  • mysql中的btree索引和hash简单笔记

    在mysql中,对于量级较多的数据表增加索引,可大大优化查询的效率。索引的类型分为Btree索引与hash索...

  • MYSQL数据库的优化

    1.数据库服务器架构的优化 2.数据表结构设计的优化 3.数据表数据类型的优化 4.数据表存储引擎的优化 5.SQ...

  • 06-mysql物理文件

    六星教育 - java-mysql优化1909 1.数据表文件 2.日志文件 3.系统文件 4.其他程序文件 sq...

网友评论

      本文标题:Mysql数据表的优化

      本文链接:https://www.haomeiwen.com/subject/hovarttx.html