`
lighter
  • 浏览: 495866 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

关于数据库的一些优化

阅读更多
前两天,有家伙问了我一些数据库的关于一些索引的问题,问得我哑口无言;于是立刻上图书馆淘了一本<<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、将表和索引分别存在不同的磁盘上

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

相关推荐

Global site tag (gtag.js) - Google Analytics