关于数据库的一些优化

本文分享了在阅读《Sams Teach Yourself SQL in 21 Days》第四版后的笔记,重点介绍了使用数据库索引的技巧及其对性能的影响,包括何时使用索引、如何优化索引以提高查询效率等内容。
前两天,有家伙问了我一些数据库的关于一些索引的问题,问得我哑口无言;于是立刻上图书馆淘了一本<<Sams Teach Yourslf SQL in 21 Days>>Fourth Edition回来,看了一天多,记录一下其中一些点滴的内容,生怕忘记,以后以便于查看.

使用索引的技巧:
1、对于小的表,使用索引不会引起任何性能上的改善

2、在数据变化幅度较大的列上建立索引,会产生最大程度的性能改善

3、当查询返回少量的数据的时候,索引能够优化你的查询(根据经验,返回的数据的数量最好少于总数量的25%)

4、索引能改进数据检索的速度,然而,同时也会使数据更新的速度减慢.
对于大量的数据插入,删除或更新,可以考虑在实施修改时删除索引.在完成插入,删除或 更新后,再简单地重建索引.

5、索引在数据库中占用空间.

6、通常总是在两表间连接的字段上建立索引。这一项技术可以大大提高连接的连接的速度
7、不要在进行定期更新或修改的字段上建立索引。

8、不要在同一个物理介质上同时存储索引和表。分开存这些对象可以避免驱动器相争用,并使查询速度更快.

9、索引不应在具有大量空值(null)的例子使用.


其他的一些优化:
1、如果可以,尽量避免全表扫描
2、记住Oracle的查询优化器按从后向前的顺序读取where子句,也就是最好把严格限定条件放在where子句的末尾.
3、避免使用OR,IN运算一般比OR运算快得多.

数据库性能调节:
1、为数据库分配合适的空间.
2、优化应用程序使用的网络片变量.
3、调节用户处理过程的时间片变量.
4、在另外的硬盘上存储事务日志
5、将特别大的表存在多个磁盘上
6、将数据库排序区,数据字典和回退区存储在不同的硬盘上.
7,增加CPU,内存,如果金钱足够
8、将表和索引分别存在不同的磁盘上

题外话:复习了一下不等连接,相等连接,外部连接,内部连接,自连接,对连接的使用有一些深一点体会,人善忘,没有办法,补补基础啦....
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值