首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

频繁随机读取数据库性能优化有关问题

2012-02-07 
频繁随机读取数据库性能优化问题我用的是postgres.客户端一刷新,就要从服务器随机取5条数据。如果用selectf

频繁随机读取数据库性能优化问题
我用的是postgres.   客户端一刷新,就要从服务器随机取5条数据。

如果用
select   field1,   field2,field3   from   table1   order   by   random()   limit   5
这样就会频繁的随机读取数据库,生成的field1,field2,field3将会用文件流发送到客户端。

如果table1数据量很大,每次随机取会造成性能下降。


有什么办法可以优化?

比如把所有数据先取出来放到内存或者硬盘,然后每次客户端需求随机5条数据时候,从内存或者硬盘随机取5个文件。这样效率会好些吗?

[解决办法]
如果表很大,放在内存或磁盘上都不合适,还是不能解决问题。可以先随机在表中抽取一定数量的记录,比如10万条,放入内存,然后在这10万条中随机抽取
[解决办法]
把你的结果放在内存,然后在内存里在查找,这样快多了

热点排行