浅谈数据库优化方案

本文为大家分享了数据库优化方案,供大家参考,具体内容如下

1. 利用表分区
分区将数据在物理上分隔开,不同分区的数据可以制定保存在处于不同磁盘上的数据文件里。这样,当对这个表进行查询时,只需要在表分区中进行扫描,而不必进行全表扫描,明显缩短了查询时间,另外处于不同磁盘的分区也将对这个表的数据传输分散在不同的磁盘I/O,一个精心设置的分区可以将数据传输对磁盘I/O竞争均匀地分散开。对数据量大的时时表可采取此方法。可按月自动建表分区。

2. 别名的使用 
别名是大型数据库的应用技巧,就是表名、列名在查询中以一个字母为别名,查询速度要比建连接表快1.5倍。

3. 索引Index的优化设计
索引可以大大加快数据库的查询速度。但是并不是所有的表都需要建立索引,只针对大数据量的表建立索引就好。
缺点:
1.创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。
2.索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大。
3.当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。
索引需要维护:为了维护系统性能,索引在创建之后,由于频繁地对数据进行增加、删除、修改等操作使得索引页发生碎块,因此,必须对索引进行维护。
4. 物化视图(索引视图)

一般的视图是虚拟的,而物化视图是实实在在的数据区域,是要占据存储空间的,另外系统刷新物化视图也需要耗费一定的资源,但是它却换来了效率和灵活性。
索引视图更适合在OLAP(读取较多,更新较少)的数据库中使用,不适合在OLTP(记录即时的增、删、改、查)的数据库中使用 。

物化视图的注意事项: 
1.对于复杂而高消耗的查询,如果使用频繁,应建成物化视图。 
2.物化视图是一种典型的以空间换时间的性能优化方式。 
3.对于更新频繁的表慎用物化视图。 
4.选择合适的刷新方式。

普通视图和物化视图的区别:
普通视图和物化视图根本就不是一个东西,普通视图是不存储任何数据的,在查询中是转换为对应定义的SQL去查询,而物化视图是将数据转换为一个表,实际存储着数据,这样查询数据,就不用关联一大堆表,如果表很大的话,会在临时表空间内做大量的操作。 
普通视图的三个特征:
 1).简化设计,方便,清晰编码。视图并不是提高性能的,它的存在只会降低性能(例如我们关联两个视图,一个视图关联6个表,另一个视图关联7个表)。 
2).安全,在授权给其他用户或者查看角度,多个表关联只允许查看,不允许修改。
3.从不同的角度看不同的维度,视图可以划分维度和权限,并使多个维度的综合,也就是你要什么就可以从不同的角度看,而表是一个实体的而已,一般维度较少。

5. 死锁与阻塞 
1).对于需要频繁更新的数据,尽量避免放在长事务中,以免导致连锁反应。 
2).不是迫不得已,最好不要在数据库锁机制外再加自己设计的锁。 
3).减少事务大小,及时提交事务。 
4).尽量避免跨数据库的分布式事务,因为环境的复杂性,很容易导致阻塞。
5).慎用位图索引,更新时容易导致死锁。

6.减少IO与网络传输次数 
1).尽量用较少的数据库请求,获取到需要的数据,能一次性取出的不分多次取出。 
2).对于频繁操作数据库的批量操作,应采用存储过程,减少不必要的网络传输。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

时间: 2024-10-31 04:30:10

浅谈数据库优化方案的相关文章

浅谈数据库优化方案_MsSql

本文为大家分享了数据库优化方案,供大家参考,具体内容如下 1. 利用表分区 分区将数据在物理上分隔开,不同分区的数据可以制定保存在处于不同磁盘上的数据文件里.这样,当对这个表进行查询时,只需要在表分区中进行扫描,而不必进行全表扫描,明显缩短了查询时间,另外处于不同磁盘的分区也将对这个表的数据传输分散在不同的磁盘I/O,一个精心设置的分区可以将数据传输对磁盘I/O竞争均匀地分散开.对数据量大的时时表可采取此方法.可按月自动建表分区. 2. 别名的使用  别名是大型数据库的应用技巧,就是表名.列名在

浅谈seo优化经验心得

近日,本人帮一个学校优化一个城市中心招生信息网站,网站是用帝国cms开发的,内容很多分布也很广.但是网站并没有测试检验过,就把它交给了我,让我去优化推广.但经过我熟悉测试后,发现网站LJ的很,有一大堆漏洞和错误,还有很多功能都未实现.总之,网站很不美观.很不专业.好了,说了那么多废话.现在谈谈我这段时间的seo心得.经过这个月的seo经历和我对seo的理解,得出了这样一个比喻,seo优化就好比栽培一棵树,而开发网站就是种一棵树.树苗质量的好坏决定着以后能不能茁壮成长.如果你种的树苗就不健康,那能

SQL Server数据库优化方案

server|数据|数据库|优化 查询速度慢的原因很多,常见如下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7.锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8.sp_lock,sp_who,活动的用户查看,原因是读写竞争资源. 9.返回了不必要的行和列 10.查询语句不好,没有

浅谈SEO优化的三大误区

seo需要的是我们亲自动手的能力,绝不是人云亦云,因为有一些道理不是随口说说就能够明白,在搜索引擎不断变化的今天,每一次的调整,都有人做总结;每一次的更新,都会有他的道理,现在无论在什么地方,关于seo的分析总是有很多,相信经常在seo论坛上和A5论坛上逛的朋友,总是可以看到很多理论派的seo文章,这些观点都认同吗,那么,这些分析之中,自己就浅谈下有哪些seo不同的观点吧. 一:seo外链和排名的关系,外链越多,排名越好吗? 每一位seo都知道外链的重要性,每天的工作任务之一就是发外链,每天的任

浅谈SEO优化软文的正确写法

丰富的网站内容,无疑能够增添网站的用户体验,如果再将网站内容和SEO优化相结合,那就能够让网站文章发挥出更多的效用.可是目前很多站长在编写SEO优化文章时,却往往因为方法的不正确,导致网站不仅仅没有获得优化的效果,还遭受百度的惩罚,特别是百度进入2012年之后,算法得到了极大的改进,原先百试不爽的一些优化方法,不仅不能奏效,更是成为百度罚站的根据,因此笔者认为,革新原先的文章内容优化方法,不露痕迹才是正确的优化之道,那么如何才能够做到这一点呢? 一:依据百度分词原则,拆分关键词为文章标题 网站的

SQL数据库优化大总结之百万级数据库优化方案_MsSql

网上关于SQL优化的教程很多,但是比较杂乱.近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充. (1) 选择最有效率的表名顺序(只在基于规则的seo/' target='_blank'>优化器中有效): ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.如果有3个以上的表连接查询, 那就需要选择交

浅谈数据库的结构优化

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 对数据库的优化一直是很多大型网站运营过程中必须应对的重要问题.比如,在2012 年3 月底本人有参与开发了一个A省的省级的政务信息公开发布系统,经过了4个月的功能开发和测试之后,该系统正式上线了,由于该系统采用的是地区分站模式,按照"省-市-县-镇-村"的站点模式,由政府主导,该系统在A省的所 有地区很快就开始推广使用,随

浅谈数据库设计技巧(上)

技巧|设计|数据|数据库|数据库设计 说到数据库,我认为不能不先谈数据结构.1996年,在我初入大学学习计算机编程时,当时的老师就告诉我们说:计算机程序=数据结构+算法.尽管现在的程序开发已由面向过程为主逐步过渡到面向对象为主,但我还是深深赞同8年前老师的告诉我们的公式:计算机程序=数据结构+算法.面向对象的程序开发,要做的第一件事就是,先分析整个程序中需处理的数据,从中提取出抽象模板,以这个抽象模板设计类,再在其中逐步添加处理其数据的函数(即算法),最后,再给类中的数据成员和函数划分访问权限,

浅谈网站优化之seo排名必须掌控核心点

大家好,最近出了点事,一直在忙没有上网,所以没有分享文章,今天朱卫坤给大家带来另一个干货.写这篇文章,只是作为案例展现一下,希望朋友们可以通过文章学习更多的优化技巧.对于网站SEO优化接单来说,都是我们seo行业的一个过程,只要是想做优化,就一定有竞争的存在,如果简单的认为做好网站内容和外链就可以,那么就一直在三个月内关键词在50名后一直徘徊.只有深入分析竞争对手的相关数据,了解对手的优化技巧,做一个超越对手的计划安排,才能按照自己制定的时间超越竞争对手,让自己的优化的网站排名进入首页前5!今天