日期:2014-05-18  浏览次数:20406 次

急!!!!!N万条记录的查询优化问题!
在SQL   SERVER     中存放着企业信息记录.字段N多.体积超大!  
我想查询用户输入来的关键字(可以是企业的名称,也可以是企业的办公地点.....很多)来做一个数据库的搜索!!!来得到企业信息!  

可是在查询时SQL语句条件多,所以查询速度特慢,,,,现在想请高人指点一个
用什么样的机制可以优化查询(可以是对SQL语句的优化,也可以是对SQL数据库的优化)!!!!急

------解决方案--------------------
给表建立索引就可以了,建立了索引后速度会极大的提高,当然数据库的体积可能会因此变的稍大
------解决方案--------------------
首先查询的条件最好固定,按固定方式可以优化索引,能不用 Like 就不用LIKE,能用LIKE ‘AA%’就不要用 LIKE ‘%AA%’

然后在说返回结果集,我目前的做法是 select ID from XXXX 就是说查询完成只返回主键。
不论多少都缓冲下来,再然后根据分页条件和相关主键获得具体数据。比较麻烦,但是性能上很好。
LZ可以试试 select ID from XXXX
和select * from XXXX 的查询的时间,数据量越大,差异越明显。
------解决方案--------------------
还有查询与数据修改分成2个数据库,一个库做数据修改,然后同步另一个查询数据库,这样,因数据修改造成的查询数度下降会好很多。
------解决方案--------------------
在 where 条件中用的 字段 尽量加索引,然后 不要 select * from XXXX 这样写 把 你想要的字段 都列出来 比如 select id,name from xxxx