标签:
计算机非常擅长做序列化处理,顺序写入,顺序读取的效率很高。一般情况下我们会认为从主内存读取数据要比从磁盘读取数据块,但实际情况
并不绝对是这样的,当我们进行主内存随机寻址时的负载确实会比顺序读取磁盘要高。那么基于计算机这个特性,我们对优化数据库有什么启发呢?
使用索引有哪些缺点:
1.不断更新索引页,导致随机写
2.当不断插入新数据时,有可能会导致索引页进行页分裂,产生索引碎片
应如何避免使用索引:
数据量不大时,应避免使用索引,这样一方面可以避免索引IO及索引维护,更重要的是可以对数据进行顺序存取,根据计算机的局部性原理,会
大大提高数据的更新及查询速度。
适当使用聚集索引:
当数据量较大必须使用索引的情况下,可以考虑聚集索引。聚集索引的叶子节点就是数据页(非聚集索引的叶子节点是索引页),所以在物理设备上
是有序的这样可以充分利用计算的局部特定,但是这种情况不适合频繁插入的情况。
写入磁盘尽量追加写入:
比如我们要更新一个字段,一般我们认为直接update是没问题的,但是这会产生随机写,我们可以把新数据在后面追加,然后对更新前的数据进行过滤。
当然这种方法弊端很多,只是描述一下大概思路。
标签:
原文地址:http://www.cnblogs.com/zhonghua-yang/p/5485051.html