如何提高程序的查询速度
我给客户做了个查询网站,用的Access数据库,里面数据量蛮大,估计有几百万条数据,我用了一条查询语句 select distinct 药品名称 from 药品库 where 药品名称 like '%小儿% ' ,我主要是想查询出来一个药品名称有多少条相关记录数,我就先用这个查询出来药品名称,然后在里面循环一个select count(*) as con from 药品库 where 药品名称= '药品名 ' ,现在客户就是觉得查询速度慢,请问还有什么方法能快速得查询出结果吗?急,请大家帮助一下.谢谢
------解决方案--------------------Conn.execute( "Select count(药品名称) From 药品库 where 药品名称= '药品名 ' )(0)
------解决方案--------------------select 药品名称,count(*) con from 药品库 where 药品名称 like '%小儿% ' group by 药品名称
不过这里看看能不能不用%,这样查询太慢
------解决方案--------------------1,药品名称 建索引
2,SQL数据库性能远好于Access,可以做很多Access做不了的优化.
3,循环一个select count可以提前在数据库里Group by出数量存在一个表里.
4,采用各种数据缓存
------解决方案--------------------www.adr.gov.cn
偶做过全国药品不良反应网
药品比较难做,数据有商品名,化学名,厂家等很复杂,数据量大,交叉多,更新不同步,不规范等很多问题.
------解决方案--------------------减少查询, 每次查询生成一个 ADTG 文件, 从该文件读取内容, 类似于缓存,
对比文件创建时间进行是否重新创建新文件...
PS: ADTG 是 ADO Save(sPath, iParam)的一个选项
------解决方案--------------------几百万的数据用access?