就是搜索站内数据内容,如何实现高效的搜索
视图,索引和存储过程,可以运用吗?
还有就是搜索的关键字处理,我想存入数据库!
请你帮帮我,感谢你!

解决方案 »

  1.   

    如果你的东西多,就用全文检索呀~~~
    oracle和sql都有全文检索的功能!具体你就google一下吧
      

  2.   

    我的意思是做网站里的搜索!like 太慢了!!
    然后我还要把搜索关键字放入数据库!就更慢了!有什么好的方法或是程序谢谢!!!
      

  3.   

    在线等 !!!!!! 
    asp.net(C#)
    感谢
      

  4.   

    同意1楼的,使用全文检索。sql server的使用很简单,看一下msdn上的就可以使用了,不过细节还是会有很多要研究的,ms的东西一向如此,入门容易,提高很难。:)
      

  5.   

    楼主,你如果需要方便你就用sql的全文检索,首先你得准备下你的服务器,是windows2000或者2003这样你才能装企业版本的才能有全文检索
    然后你需要一个text列来做索引的对象,把你要检索的内容都放到那个列里面去,然后在sql上面对那个表点右键,然后设置建立全文检索的相关内容,第一次建立完毕以后你的用全文填充,以后每一次往改表里面更新都调用增量填充...
    基本就是这样具体设置你go下
    随便一goo,网上到处都是...
    http://www.pconline.com.cn/pcedu/empolder/db/sql/0411/482884.html
      

  6.   


    --现在表中数据
    declare @hh table (id int IDENTITY(1,1)  ,keyword varchar(200),m_count int)
    insert into @hh (keyword,m_count)
    select '中国人',1
    select * from @hh
    --如果再次用中国人搜索
    DECLARE @new_word varchar(200)
    SET @new_word='中国人'declare @hh table (id int IDENTITY(1,1)  ,keyword varchar(200),m_count int)
    insert into @hh (keyword,m_count)
    select '中国人',1
    IF(EXISTS(SELECT * FROM @hh WHERE keyword=@new_word))
    BEGIN
    update @hh
    SET m_count = m_count+1 
    WHERE keyword=@new_word
    END
    ELSE
    BEGIN
    INSERT INTO @hh (keyword,m_count)
    SELECT @new_word,1
    END
    select * from @hh
    --如果第二次换新的搜索
    DECLARE @new_word varchar(200)SET @new_word='新世界'declare @hh table (id int IDENTITY(1,1)  ,keyword varchar(200),m_count int)
    insert into @hh (keyword,m_count)
    select '中国人',1
    IF(EXISTS(SELECT * FROM @hh WHERE keyword=@new_word))
    BEGIN
    update @hh
    SET m_count = m_count+1 
    WHERE keyword=@new_word
    END
    ELSE
    BEGIN
    INSERT INTO @hh (keyword,m_count)
    SELECT @new_word,1
    END
    select * from @hh