一、考虑是用 procedure analyse() 函数对当前应用的表进行分析。字段类型是否可优化。

二、通过拆分提高表的访问效率。

  (A) 针对MyISAM表,有两种拆分方法:

    垂直拆分:主码和某些列在一个表,主码和另一些列在另一个表。这在一个表中某些列常用,而某些列不常用的时候采用。此种方法:数据页变小,减少I/O次数,缺点是:需管理冗余,查询需要联合操作。

    水平拆分:根据一列或多列的数据的值把数据行放到两个独立的表中。使用场景:

      表很大,分割后降低数据量和索引的页数,降低索引的层数,提高查询速度。

      表中数据本来就有独立性,

      数据需要存放到多个介质上。

三、逆规范化

  常见的有:增加冗余列、增加派生列、重新组表和分割表。

  逆规范化需要维护数据的完整性,常用方法:批处理维护、应用逻辑和触发器。

四、使用中间表提高统计查询速度

  中间表在统计查询中经常会用到,其优点是:

    中间表复制源表部分数据,切与源表相隔离,在中间表上做统计查询不会对在线应用产生负面影响。

    中间表可以灵活地添加索引和增加新字段,方便实现功能。

最新文章

  1. react+redux教程(二)redux的单一状态树完全替代了react的状态机?
  2. cisco vpn client 自动登陆脚本
  3. SSL、OPENSSL、SSH、OPENSSH
  4. [转]JDK6和JDK7中的substring()方法
  5. nuget的小Tips
  6. 将获得到的json赋值到下拉框
  7. C#微信开发之旅--自定义菜单
  8. iOS: AFNetworking手动配置(iOS7.1, AF2.2.4)
  9. iOS网络
  10. eclipse不能自己主动弹出提示的解决的方法
  11. [每日一题] OCP1z0-047 :2013-07-19 Rules of Precedence――括号的使用
  12. set集合容器
  13. .exe简单的更新软件demo
  14. JQuery Ajax使用及注意事项
  15. poi解析excel
  16. Java的家庭记账本程序(K)
  17. 从零开始搭建django前后端分离项目 系列四(实战之实时进度)
  18. WebLogic: 内存溢出
  19. C# 控制台运行 应用运行
  20. 【题解】 [POI2012]FES-Festival (差分约束)

热门文章

  1. ubuntu 14.04安装pypcap
  2. Ubuntu解压缩命令
  3. Netty学习笔记之一(Netty解析简单的Http Post Json 请求)
  4. 齐夫定律, Zipf's law,Zipfian distribution
  5. python网络编程-socket编程
  6. Stream与byte[]与Image与string
  7. java之并发编程线程池的学习
  8. DataTable转List
  9. redis-内存异常 Redis is configured to save RDB snapshots解决
  10. jq方法中 $(window).load() 与 $(document).ready() 的区别