收费 qrcode 识别库 提供delphi demo ,c语言demo 需要的联系,一个52KB的库搞定二维码识别哦 QQ 1565498246
作品1: YesReport所见所得的WEB报表设计、打印插件,数据源不直接连接数据库,而是URL,支持PHP,JSP,ASP等所有支持JSON的后端,简单易学。

               免费下载YesReport插件测试版


作品2:立象条码打印机打印QRCODE条码。 免费下载演示版
作品3: 简单的开关按钮 源码下载
作品4:delphi陷阱大全3下载PDF
delphi陷阱大全4,修订错误下载更新pdf
作品5:ICS组件移植到lazarus 下载源码
作品6: lazarus入门教程300页下载PDF
作品7: Jar重复包下载工具下载来看看
作品8: 小小说编辑器用用看
作品9: 单据编号大漏洞在线阅读pdf
友情链接:
易博龙/英巴卡迪诺 Delphi盒子 cnpack delphi园地 不得闲 万一的博客 咏南的Delphi博客 D10.天地弦 delphi IOCP 楠楠 星五
下面是优秀开源组件
delphi iocp framework zeoslib zeoslib forum ICS JEDI Torry Delphiarea CSDN Delphi RealThinClient QDAC
下面各位基本是来自盛大的: savetime 橙子 张无忌 武稀松 阿杜

steven's blogs

lazarus,delphi,develop

sqlserver,mysql,oracle通用的模拟和改进的全文搜索算法

问:数据库效率最低的地方是什么?

答:表扫描

问:表扫描常见的情况是

答:like '%a%' 这类查询

如果使用全文检索引擎,又无法满足我们的需求的时候怎么办,比如要从

 

一个商品名称 "农夫山泉300ml"  里面查找"泉3" ,全文搜索引擎就失效了。

我们可以改进为:

1.建立一个 索引表,这个表里面str允许保存若干字符,作为非聚集索引

create table t1 (id1 identity(1,1) primary key ,  str varchar(10), goods_id integer);

 

在str上建立非聚集索引

 

2.当我们保存新的商品信息的时候

将 "农夫山泉300ml" 拆分成

goods_id=1

insert into t1(str,goods_id)values('农',1);

insert into t1(str,goods_id)values('夫',1);

 

insert into t1(str,goods_id)values('农夫',1);

insert into t1(str,goods_id)values('山泉',1);

 

insert into t1(str,goods_id)values('泉3',1);

...

等任意组合的若干连续字符的索引记录。

 

当需要模糊查找 like '%泉3%'的时候,变成

select * from goods where goodsid in (select distinct goods_id from t1 where str='泉3');

 

这种方法,在很多的论坛一类的代码中有体现。

 

不过,这种方法更加适合需要模糊查询的字段比较短,而查询又有模糊,又有大量关联的情况,比如:

 

select * from goods, purchase where goods.goodsid=purchase.goodsid and goodsname like '泉3';

 

这种情况.转换后是

select * from goods, purchase where goods.goodsid=purchase.goodsid and  goodsid in (select distinct goods_id from t1 where str='泉3');

 

posted on 2014-10-28 12:36  stevenlaz  阅读(266)  评论(0编辑  收藏  举报

导航

Counter
Clarion Discount Hotel