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

求助 asp.net 大数据处理?
有张表有两三千万条数据,又要用模糊查询,该怎么办呢?

------解决方案--------------------
1.存储过程(分页也就是一页的记录)

------解决方案--------------------
因为是模糊查询,泛泛的索引难以有效!
不过总能统计到是对某些字段查询比较频繁,
可通过sql提供的功能,"索引优化向导"和"显示估计的执行计划"
来最后确定你的索引!!
------解决方案--------------------
索引+存储过程分页
------解决方案--------------------
增加 全文索引.........
------解决方案--------------------
aspnetpager空间可以解决你的问题
------解决方案--------------------
存储过程或者视图了。。。
------解决方案--------------------
探讨
有张表有两三千万条数据,又要用模糊查询,该怎么办呢?

------解决方案--------------------
应该是用全文检索吧。
------解决方案--------------------
1、建立合理的索引
2、用存储过程分页查询
------解决方案--------------------
什么数据库? sql server 还是 oracle ?

如果采用 oracle ,这点数据就是小菜了。

不过要分析sql 性能,相信不同的数据库都有自己的方法。
比如:执行计划。
多看看执行计划,该创建索引的创建索引(模糊查询索引不一定有用,不过要看sql 怎么写了 对于 oracle 中 "%模糊条件%" 和 "模糊条件%" 查询的性能完全不一样),或者固化视图,疑惑对特定函数创建索引等

楼上几位兄弟的方法也未尝不可,大数据量可能是要分页的,除非你是做统计

最后再退一万步将,如果的确需要这些数据 一次性 全部显示,那就的考虑一下这个需求是否正常。用户会一次行查看所有的200W 数据?
------解决方案--------------------
Oracle
1.按照首字母拼音建立视图
select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_PINYIN_M'); 
然后分为26个视图
2.查询视图
3.索引
4.运行Oracle自带优化工具优化表空间,运行
------解决方案--------------------
模糊查询就分页分区
可用Lucene全文索引引擎工具 
通过数据库实现全文搜索
------解决方案--------------------
我挺纳闷的 人家说的是数据处理 你们怎么都扯到分页上去了
------解决方案--------------------
探讨
我挺纳闷的 人家说的是数据处理 你们怎么都扯到分页上去了

------解决方案--------------------
探讨
增加 全文索引.........

------解决方案--------------------
探讨

引用:
有张表有两三千万条数据,又要用模糊查询,该怎么办呢?


模糊查询?这个说法就是失败的根源。

如果人家用户的需求是全文检索,请不要从小技术人员出发给改成“模糊查询”,因为他们根本就是不同层次的技术。

------解决方案--------------------
表分区 索引分区 建立全文索引
------解决方案--------------------
sql server 2000中配置全文索引

全文索引的一个例子,在查询分析器中使用:
1、--打开数据库全文索引的支持
execute sp_fulltext_database 'enable'
go
2、--建立全文目录FREETEXT
execute sp_fulltext_catalog 'FREETEXT', 'create'
go
3、--为Dv_bbs1表建立全文索引数据元,PK_Dv_bbs1是主键所建立的唯一索引,可由sp_help Dv_bbs1得知
EXEC sp_fulltext_table 'Dv_bbs1', 'create', 'FREETEXT', 'PK_Dv_bbs1'
go
4、--设置全文索引列名
exec sp_fulltext_column 'Dv_bbs1', 'Body', 'add'
go
5、--建立全文索引
exec sp_fulltext_table 'Dv_bbs1', 'activate'
go
6、--填充全文索引目录
exec sp_fulltext_catalog 'FREETEXT', 'start_full'
go
7、--使用contains和freetext

EXEC sp_fulltext_table 'Dv_bbs1','deactivate'
EXEC sp_fulltext_catalog 'FREETEXT', 'stop'
exec sp_fulltext_column 'Dv_bbs1', 'Body', 'drop'
EXEC sp_fulltext_table 'Dv_bbs1', 'drop'
EXEC sp_fulltext_catalog 'FREETEXT', 'drop'