日期:2014-05-16 浏览次数:20453 次
当数据库中数据很少时,基本不用考虑速度问题。
但是当数据量到了百万条的级别时,速度就很成问题了。
本人初学者,有以下经验。
方法一:
在要检索的列上添加索引,例如用mysql时主键是自动有索引的,非主键也可以加索引。
对于没有在检索列上设索引和在检索列上设索引的速度,我的测试结果是当数据库用有500000的数据时,检索速度提高了100倍。
插入的速度不大受数据量的影响。
索引的具体原理还不是很清楚,但是有一点是知道的,就是建立索引以后避免了扫描整个数据库进行检索。
可以想象加入了一些类似折半查找等方法。
方法二:
对于本机操作,而且不是很频繁的检索时,
把所有数据用select * from table 的方式放到变量里,也就是内存里,速度也是很快的。
对于数据不是太长的表,比如每行有30个字符,百万条的全表读取也就不到半分钟,
到了内存以后就可以很快速地处理了。
用带有hash表功能的容器,检索还是非常快的。