永发信息网

sqlite中数据库中索引与全文检索的区别

答案:1  悬赏:20  手机版
解决时间 2021-02-03 09:00
sqlite中数据库中索引与全文检索的区别
最佳答案



SQLite 索引(Index)是一种特殊的查找表,数据库搜索引擎用来加快数据检索。简单地说,索引是一个指向表中数据的指针。一个数据库中的索引与一本书后边的索引是非常相似的。
例如,如果您想在一本讨论某个话题的书中引用所有页面,您首先需要指向索引,索引按字母顺序列出了所有主题,然后指向一个或多个特定的页码。 下面是一个sqlite上建立索引的例子
CREATE INDEX index_name ON table_name;

sqlite中支持fts表(full-text search的简称),fts3其实是sqlite的一个扩展模块,是虚拟表模块,允许用户去实现全文检索。下面是一个简单的例子:
Java代码
CREATE VIRTUAL TABLE enrondata1 USING fts3(content TEXT);
可以看到,使用上面的语法即创建了一个fts3的表了,而检索时,根据手册上说的:
SELECt count(*) FROM enrondata1 WHERe content MATCH 'linux';
SELECt count(*) FROM enrondata2 WHERe content LIKE '%linux%';

看到没?这里是使用match了,而不是传统的like,而且效率很高了。
还支持如下的语法:
SELECt * FROM words_fts WHERe words_fts MATCH 'description: company';
即列名:该列要搜索的关键词
还可以这样:
SELECt * FROM words_fts WHERe words_fts MATCH 'description: comp*'
即支持通配符了

索引主要是针对表中的一列或者是多列建立的升序或者是降序的排列。全文索引是索引的升级,他是针对整个文件的字符匹配。而且建立和全文索引以后就可以对创建了该索引的表进行全文检索.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
夏天来了,多纳兑换码
午马演过的一部关于房子闹鬼的三级鬼片是什么
图灵社区电子书mobi版本在掌阅科技iReader无
百度识图球这张图原图
【请你根据上面几组数的规律,在横线上填写合
春风250摩托车09年有手续多少钱
求歌名歌词!有句歌词是open you eyes and lo
园圈中有方形的成语
我国不少山脉走向不仅控制了主要河流的走向,
南京奇元金属材料有限公司怎么样?
爱眼城眼镜在什么地方啊,我要过去处理事情
DOTA水人无伤打肉山的BUG谁会?
喝酒再喝青柠饮料
朋来灯饰城怎么去啊,我要去那办事
u盘下载mv插在五菱宏光S车上播放器,怎么没反
推荐资讯
梦妆(爱特店)怎么去啊,我要去那办事
AUTOCAD二次开发 VB、 VBA 的疑问
中江县普兴镇中学校清凉分校地址有知道的么?
必须采用订本式账簿的是
长江穿过的地形区有哪些?
红杜鹃家纺地址好找么,我有些事要过去
腾依格企业美容美体养身会所地址在什么地方,
找一些冰释前嫌的词句
某企业为开发新产品,从市场部、生产部、研发
润姿美健康美容养生馆怎么去啊,我要去那办事
笔记本电脑密码忘记维修要多少钱
16岁矫正牙齿大概需要多少钱
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?