数据库优化
来源:互联网 发布:网络拍卖平台 编辑:程序博客网 时间:2024/06/05 09:44
数据库优化的常用方法:
a:表结构优化
b:SQL语句优化
c:分区和分表
d:索引优化
e:使用存储过程代替直接操作
表结构优化
表结构优化是数据库中最基础也是最重要的,如果表结构优化不合理,就会导致严重的性能问题,
具体怎么设计合理也没有固定不变的准则,需要根据实际情况具体处理。
字段存储顺序也会影响访问性能,在做表设计的时候,将访问频繁的字段放在表的前面。
字段类型也会有很大影响,常见问题:隐式数据类型转换(例如字符型和整形转换);错误数据类型
SQL语句优化
基础的SQL优化是语法层面的优化,而且要和索引缓存等配合使用。SQL优化的一个通用做法就是,
首先要将涉及大数据的业务的SQL语句执行时间详细记录下来,其次通过仔细分析日志找出需要优化的
语句和其中的问题,然后再有的放矢地优化,而不是不分重点对每条语句都花同样的时间和精力优化。
分区和分表
分区:当一张表的数据量很多的时候,SQL操作的速度就慢了,分区就是一个很好的解决方法。分区就是将
一张表中的数据按照一定的规则分到不同的区里来保存,这样查询数据时如果数据在一个区里,那只需要在某个
具体的区里操作就够了,不需要全表操作,这样操作量就少了,速度自然就快了。(通俗一点理解就像衣柜里
找衣服,原来上衣,裤子,帽子统统放在一个大柜子里,每次找起来特别麻烦,上上下下翻来覆去,分区就像是
在大柜子里做成几个小柜子,每个小柜子贴个标签,这个放上衣,那个放裤子等等,下次找裤子的时候就特别方便,
只需要到帖子裤子标签的小柜子里查找就够了 ,感觉整个世界都美好了!)
分表:按业务需求可以把原来十几个甚至几十个字段的大表按一个规则拆分成几个独立的小的关联表,还有一种类似于
分区性质的分表。例如将一张大表按月分成十二张小表。
索引优化
索引的大致原理是在数据发生变化(增删改)的时候就预先按指定字段的顺序排序后保存到一个类似表的结构中,这样
查找索引字段为条件的记录时就能很快找到指定记录,速度就快很多。但不是一张表建的索引越多越好,它虽然提高了
查询速度,但降低了增删改的速度,因为每次数据变化都需要更新索引。
使用存储过程代替直接操作
在操作过程复杂而且调用频繁的业务中,可以通过使用存储过程代替直接操作来提高效率,因为存储过程只需要编译一次,
而且可以在一个存储过程里面做一些复杂的操作。
- 优化数据库
- 数据库优化
- 数据库优化
- 数据库优化
- 数据库优化
- 优化数据库
- 数据库优化
- 数据库优化
- 数据库优化
- 数据库优化
- 数据库优化
- 数据库优化
- 优化数据库
- 数据库优化
- 数据库优化
- 数据库优化
- 数据库优化
- 数据库优化
- 博通BCM433132网卡驱动安装经历
- JAVA多态的课本理解
- Cookie在服务器不能获取到
- gradle插件版本和gradle版本对应关系
- 最短路 floyd dijkstra bellman-ford总结
- 数据库优化
- vsftpd客户端提示:Entering passive Mode的三种解决办法
- java.lang.OutOfMemoryError: PermGen space及其解决方法
- Eclipse快捷键大全(转载)
- 心塞的Xutil的用法
- [Android四大组件] Service详解,你不知道的都在这里
- js-dom元素操作
- C++头文件之:#ifndef #define #endif ,#ifdef __cplusplus extern "C" { #endif,__declspec(dllimport)
- OJ 1011 复数类