sql server 索引 全文索引和聚类和分类的区别索引的区别

视频数据库的聚类索引方法—文档、资料、论文、办公、总结,均是精品资料,免费阅..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
视频数据库的聚类索引方法
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口& 高效聚类索引表图像检索
高效聚类索引表图像检索
摘 要:提出了一种基于主颜色、聚类索引表的彩色图像检索算法。应用MPEG-7视觉内容描述对彩色图像进行量化处理,选取图像的主颜色及其所占百分率作为颜色特征,根据主颜色组合建立聚类索引数据库。利用上述主颜色特征
【题 名】高效聚类索引表图像检索
【作 者】吴家良 梁正友 林烁
【机 构】广西大学计算机与电子信息学院 南宁530004
【刊 名】《计算机工程与应用》2013年 第9期 183-186页 共4页
【关键词】图像检索 颜色 HSV 特征提取 聚类索引
【文 摘】提出了一种基于主颜色、聚类索引表的彩色图像检索算法。应用MPEG-7视觉内容描述对彩色图像进行量化处理,选取图像的主颜色及其所占百分率作为颜色特征,根据主颜色组合建立聚类索引数据库。利用上述主颜色特征计算图像间的相似度,利用聚类索引表对图像进行聚类和快速检索。实验表明,该算法能够准确和高效地检索出用户所需的彩色图像,具有较快的检索速度。
【下载地址】
本文导航:
图像检索,颜色,HSV,特征提取,聚类索引
上一篇:暂无评论-1094&
trackbacks-0
&&& 1、 什么是索引
&&&&&&& 索引就是数据表中数据和相应的存储位置的列表,利用索引可以提高在表或视图中的查找数据的速度。
& &&& 2、 索引分类
&&&&&&& 数据库中索引主要分为两类:聚集索引和非聚集索引。SQL Server 2005还提供了唯一索引、索引视图、全文索引、xml索引等等。聚集索引和非聚集索引是数据库引擎中索引的基本类型,是理解其他类型索引的基础。
& &&& # 聚集索引
&&&&&&& 聚集索引是值表中数据行的物理存储顺序和索引的存储顺序完全相同。聚集索引根据索引顺序物理地重新排列了用户插入到表中的数据,因此,每个表只能创建一个聚集索引。聚集索引经常创建在表中经常被搜索到的列或按顺序访问的列上。在默认情况下,主键约束自动创建聚集索引。
& &&& # 非聚集索引
&&&&&&& 非聚集索引不改变表中数据列的物理存储位置,数据与索引分开存储,通过索引指向的地址与表中的数据发生关系。
&&&&&&& 非聚集索引没有改变表中物理行的位置,索引可以在以下情况下使用非聚集索引:
&&&&&&& 一、如果某个字段的数据唯一性比较高
&&&&&&& 二、如果查询所得到的数据量比较少
& 聚集索引和非聚集索引的区别:
非聚集索引
每个表只允许创建一个聚集索引
最多可以有249个非聚集索引
物理的重排表中的数据以符合索引约束
创建一个键值列表,键值指向数据在数据页中的位置
用于经常查找数据的列
用于从表中查找单个值的列 &&& # 其他类型索引
&&& 除了以上索引,还有以下类型索引:
&&&&&&& a、 唯一索引:如果希望索引键都不同,可以创建唯一索引。聚集索引和非聚集索引都可以是唯一索引。
&&&&&&& b、 包含新列索引:索引列的最大数量是16个,索引列的字节总数的最高值是900。如果当多个列的字节总数大于900,切又想在这些劣种都包含索引是,可以使用包含性列索引
&&&&&&& c、 视图索引:提供视图查询效率,可以视图的索引物理化,也就是说将结果集永久存储在索引中,可以创建视图索引。
&&&&&&& d、 XML索引:是与xml数据关联的索引形式,是XML二进制blob的已拆分持久表示形式
&&&&&&& e、 全文索引:一种特殊类型的基于标记的功能性功能,用于帮助在字符串中搜索赋值的词
&&& &&& 3、 创建索引
create [unique] [clustered | noclustered]index index_nameon table_name (column_name ...)[with fillfactor=x]
&&& unique唯一索引
&&& clustered聚集索引
&&& noclustered非聚集索引
&&& fillfactor填充因子大小,范围在0-100直接,表示索引页填满的空间所占的百分比。
& &&& 示例
if (exists (select * from sys.indexes where name = 'idx_stu_name'))
drop index student.idx_stu_namegocreate index idx_stu_nameonstudent(name);&--联合索引if (exists (select * from sys.indexes where name = 'idx_uqe_clu_stu_name_age'))
drop index student.idx_uqe_clu_stu_name_agegocreate unique clustered index idx_uqe_clu_stu_name_ageon student(name, age);&if (exists (select * from sys.indexes where name = 'idx_cid'))
drop index student.idx_cidgo&if (exists (select * from sys.indexes where name = 'idx_cid'))
drop index student.idx_cidgo&--非聚集索引create nonclustered index idx_cidonstudent (cid)with fillFactor = 30;
--填充因子&--聚集索引if (exists (select * from sys.indexes where name = 'idx_sex'))
drop index student.idx_sexgocreate clustered index idx_sexonstudent(sex);&--聚集索引if (exists (select * from sys.indexes where name = 'idx_name'))
drop index student.idx_namegocreate unique index idx_nameonstudent(name);
&&& &&& 4、 适合的创建索引的列
&&&&&&& 当数据库的某一列被频繁的用于数据库查询时,或者该列用于数据库进行排序时可以创建成索引
& &&& 5、 不适合创建索引的列
&&&&&&& 如果列中有几个不同的值,或者表中仅包含几行值,则不推荐为其创建索引。因为索引在搜索数据所花的时间比在表中逐行搜索话的时间更长。
&&& 1、 什么是视图
&&&&&&& 视图就是一个虚拟的数据表,该数据表中的数据记录是有一条查询语句的查询结果得到的。
& &&& 2、 创建视图准则
&&&&&&& 创建视图需要考虑一下准则:
&&& # 视图名称必须遵循标识符的规则,该名称不得与该架构的如何表的名称相同
&&& # 你可以对其他视图创建视图。允许嵌套视图,但嵌套不得超过32层。视图最多可以有1024个字段
&&& # 不能将规则和default定义于视图相关联
&&& # 视图的查询不能包含compute子句、compute by子句或into关键字
&&& # 定义视图的查询不能包含order by子句,除非在select 语句的选择列表中还有top子句
&&& &&& 下列情况必须指定视图中每列的名称:
&&& # 视图中的如何列都是从算术表达式、内置函数或常量派生而来
&&& # 视图中有两列或多列具有相同名称(通常由于视图定义包含联接,因此来自两个或多个不同的列具有相同的名称)
&&& # 希望视图中的列指定一个与其原列不同的名称(也可以在视图中重命名列)。无论是否重命名,视图列都回继承原列的数据类型
& &&& 3、 创建视图
--创建视图if (exists (select * from sys.objects where name = 'v_stu'))
drop view v_stugocreate view v_stuasselect id, name, age, sex from
&&& &&& 4、 修改视图
alter view v_stuasselect id, name, sex from&alter view v_stu(编号, 名称, 性别)as
select id, name, sex from studentgoselect * from v_&select * from information_schema.
&&& &&& 5、 加密视图
--加密视图if (exists (select * from sys.objects where name = 'v_student_info'))
drop view v_student_infogocreate view v_student_infowith encryption --加密as
select id, name, age from studentgo--view_definition is nullselect * from information_schema.views where table_name like 'v_stu';
阅读(...) 评论()SQL Server全文索引关于varchar与nvarchar的问题 - ocean1010的专栏
- 博客频道 - CSDN.NET
DROP TABLE test&& --建测试表&& CREATE TABLE test&& &&& (&& &&&&& id INT IDENTITY(1, 1) PRIMARY KEY ,&& &&&&& txtTitle1 VARCHAR(50) ,--这里用的是varchar&& &&&& txtTitle2 NVARCHAR(50) ,--这里用的是nvarchar&& &&& )&& &&&&& --插入50条数据&& DECLARE @i INT& SET @i = 0&& WHILE @i & 50&&& &&& BEGIN& &&&&&& INSERT& INTO test&& &&&&&&&&&&&&&& ( txtTitle1, txtTitle2 )&& &&&&&& VALUES& ( '柳永法', '柳永法')&& &&&&&&& SET @i = @i + 1&& &&& END& --对test表建全文索引,列选择txtTitle1, txtTitle2。方法如下:&& --右击要建全文索引的表--&全文索引--&定义全文索引--&点几下"下一步"直到&选择表列&&& --&选中要建立全文索引的列--&下一步--&自动--&创建新目录(写上名称,选位置,其它自便)&& --&点几下"下一步"直到完成,这时系统会开始建全文目录,建好没有可以在当前数据库所在:&& --展开当前数据库--&存储--&全文目录--&右击,你刚才起的名,如果&重新生成&是灰色,&& --说明系统当前正在生成,如果可以点,说明生成完了
--针对varchar的列txtTitle1 只要查询里是以 '法' 结尾,都查不出记录来&& SELECT COUNT(id) FROM dbo.test WHERE CONTAINS(txtTitle1 ,'柳永法'); --0&& SELECT COUNT(id) FROM dbo.test WHERE CONTAINS(txtTitle1,'柳');&& --50&& SELECT COUNT(id) FROM dbo.test WHERE CONTAINS(txtTitle1,'永');&& --50&& SELECT COUNT(id) FROM dbo.test WHERE CONTAINS(txtTitle1,'法');&& --0&& SELECT COUNT(id) FROM dbo.test WHERE CONTAINS(txtTitle1,'柳永');& --50&& SELECT COUNT(id) FROM dbo.test WHERE CONTAINS(txtTitle1,'永法');& --0&& SELECT& REPLICATE('-',20)&& --针对nvarchar的列txtTitle2 都可以查出全部记录&& SELECT COUNT(id) FROM dbo.test WHERE CONTAINS(txtTitle2,'柳永法'); --50&& SELECT COUNT(id) FROM dbo.test WHERE CONTAINS(txtTitle2,'柳');&& --50&& SELECT COUNT(id) FROM dbo.test WHERE CONTAINS(txtTitle2,'永');&& --50&& SELECT COUNT(id) FROM dbo.test WHERE CONTAINS(txtTitle2,'法');&& --50&& SELECT COUNT(id) FROM dbo.test WHERE CONTAINS(txtTitle2,'柳永');& --50&& SELECT COUNT(id) FROM dbo.test WHERE CONTAINS((txtTitle1,txtTitle2),'永法');& --50
--在txttitle列末尾随便加一个字符&& UPDATE test SET txttitle1=txttitle1+' '&&&&&& --重建索引后,再执行上面的查询,结果都 是50 --通过以上示例得出结论:只要在设计字段时把varchar改成nvarchar,就可以解决我们的问题,且nvarchar有个好处就是:如果数据库服务器部署在非中文的系统上时,不会出现乱码问题。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:316276次
积分:3706
积分:3706
排名:第3673名
原创:31篇
转载:221篇
评论:16条
(4)(7)(2)(2)(1)(2)(1)(1)(2)(1)(2)(1)(4)(1)(12)(2)(2)(3)(1)(3)(2)(1)(3)(3)(3)(3)(10)(2)(9)(3)(2)(5)(6)(2)(3)(11)(4)(2)(8)(14)(4)(4)(3)(31)(4)(11)(6)(2)(37)

我要回帖

更多关于 分类与聚类的区别 的文章

 

随机推荐