日期:2014-05-17  浏览次数:20470 次

sql 大数据量实时搜索问题
诸位:
   请教大家一个技术问题。
环境:SQLserver 2000
      c# 查询
终端每秒向数据库插入300条左右记录,那么1小时数据库就会有300*3600=108W条记录,我想在插入数据的时候不断检索数据,检索间隔为3s到3.5s左右,不建立索引的话,那么对于大数据量实时检索效率就存在很大问题。如果关键字建立索引对于实时检索效率会有很大提高,那么请问建立索引对于数据实时插入的效率会有多大影响?
PS:数据库会运行几个小时。
如果不建立索引对于上百万的数据量,能有有什么方法可以在几秒内检索出几百条记录。
求讨论,求思路。
先O(∩_∩)O谢谢了!
实时搜索 大数据

------解决方案--------------------
建议检索查询时,在表名之加(nolock)比较好.
------解决方案--------------------
数据插入对索引组织有很大的影响,而且你那个太频繁了,而且还是2000,很多技术用不了,除了nolock和语句不要用*,加where条件,目前没想到什么好方法
------解决方案--------------------
引用:
Quote: 引用:

建议检索查询时,在表名之加(nolock)比较好.


引用:
数据插入对索引组织有很大的影响,而且你那个太频繁了,而且还是2000,很多技术用不了,除了nolock和语句不要用*,加where条件,目前没想到什么好方法

谢谢两位的建议,我试了一下在有索引的前提下效率是有提高。
我的表包含7个自动,where条件搜索有两个,建立索引的话应该只会只有一个,搜索也是关键字段搜索出来。

索引不多的话,单纯的插入其实索引对数据库的影响不会太大,但是对于查询觉得提升非常大,所以还是建议加索引。
------解决方案--------------------
那就按照那2个字段建索引把。先试试看效果如何。
------解决方案--------------------
一般的OLTP系统,建立3个以内的索引,不会有太大的影响的。