2.添加注册表。请复制以下内容到到记事本上,另存为"service.reg"注册表文件,双击执行后.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CiSvc] "DependOnService"=hex(7):52,00,50,00,43,00,53,00,53,00,00,00,00,00
"Description"="本地和远程计算机上文件的索引内容和属性;通过灵活查询语言提供文件快速访问。"
"DisplayName"="Indexing Service" "ErrorControl"=dword:00000001
"ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\ 74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,63,\ 00,69,00,73,00,76,00,63,00,2e,00,65,00,78,00,65,00,00,00 "ObjectName"="LocalSystem" "Start"=dword:00000004 "Type"=dword:00000120
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CiSvc\Enum] "0"="Root\\LEGACY_CISVC\\0000" "Count"=dword:00000001
"NextInstance"=dword:00000001
3.重启机器。
4.这时服务里面就有“Indexing Service”这一项了,从服务里面找到,启动。
5.XP添加索引成功
索引服务我控制1. 启动索引服务
打开“控制面板→管理工具→服务”窗口,找到Indexing Service服务双击打开属性对话框。将启动类型设置为“自动”或“手动”,然后单击右下角的“应用”按钮使其生效,原来呈灰色状态的“启动”按钮就可以使用了,单击后即可启动索引服务,以后当系统处于空闲状态时,索引服务将为计算机上的文件编制索引并加以维护。
启动索引服务后,系统会在硬盘系统分区上创建一个名为System Volume Information\catalog.wci的文件用来存放索引文件。索引服务可以连续运行并且几乎不需要维护,安装索引服务后所有的 *** 作都将自动完成,包括索引的创建、索引的更新、掉电时的故障恢复等。
2. 在搜索时调用索引服务
启动索引服务后,应该可以提高搜索的速度和效率,但必须首先让搜索调用索引服务才行。在搜索窗口中选择“改变首选项”,如图3所示,选择“是的,启用制作索引服务”选项,确定后即可在搜索中使用索引服务。
编入索引的文档总体大小和正在使用的文件系统类型会影响存储索引服务的数据所需的磁盘空间大小,FAT文件系统分类需要的空间加上临时工作空间大约是索引文件问题的30%,而NTFS文件系统需要的空间大约是索引文件问题的15%。
3. 创建索引目录
索引服务将其所有的索引信息都存储在编录中,编录包含了索引信息和文件系统目录的特定组的存储属性,在Windows中安装索引服务后,将自动构造成为系统编录,其中列出了所有永久连接磁盘驱动器的内容,除特定文件和临时文件之外,系统编录中包含了所有文档的索引。如果检测到Internet信息服务,索引服务将同时创建名为Web的编录。
(1)文档内容。索引包含了每个文档的内容,除了在例外列表中的词(例如冠司、介词、代词),文档内容包括:HTML文档中的文字,新闻组文章或电子邮件的邮件正文,字处理程序文档或其他文档的正文。索引占编录的绝大部分空间,大约为编入索引的文档总大小的15~30%。
(2)文档属性。文档属性代表了文档的特征,例如创建日期、作者姓名、文档大小,属性值是特定档案的特定信息,有些属性值由创建文档的程序自动设置,而有些属性值则由用户输入,所有属性和属性值都同文档内容一道编入索引并且要以搜索,多数属性还可以显示在搜索结果的列表中,但某些在文档被索引时必须被存储在属性缓存中,否则索引服务将无法找到,当然也就无法在搜索结果中显示了。
(3)创建编录。其实,大多数情况下我们只需要对某些特定文件夹进行索引,这样系统默认的System编录就无法满足我们的需要了。此时,你可以根据实际情况添加相应的编录,打开“控制面板→管理工具→计算机管理”窗口,依次展开“计算机管理(本地)→服务和应用程序→索引服务”,从 *** 作菜单中选择“新建→编录”,输入编录名称,并选择索引数据的保存位置,注意添加编录后必须中止并重新启动索引服务进行索引。
(4)添加目录。接下来,你还需要为刚才新建的编录添加目录,在右侧空白处选择“新建→目录”,在d出的对话框中单击“浏览”按钮设置相应的路径,注意应该将下面的“包括在索引中吗?”设置为“是”,如果选择“否”可以将这个文件夹排除在索引之外,添加后系统将自动完成该目录的完整扫描。当然,你也可以在目录列表中右击文件夹,选择“所有任务→重新扫描(增量)”,这样系统将仅仅索引被改动过的部分。
4. 让索引服务支持更多的文件
在默认设置下,索引服务只支持具备相应筛选器的文档类型,是否能让它能够支持更多的文件,例如非常流行的XML文档呢?
打开“控制面板→管理工具→计算机管理”窗口,依次展开“计算机管理(本地)→服务和应用程序→索引服务”,右击需要添加支持文档类型的编录,打开属性窗口,切换到“生成”标签页,如图4所示,首先请去除“继承服务的以上设置”复选框,然后选中“可继承设置”小节中的“含有未知扩展名的索引文件”复选框。
5. 调整索引服务性能
我们可以根据使用服务的方式来调整索引服务的性能,主要是更改用于索引和查询处理的计算机资源的数量,右击索引服务,首先从“ *** 作”菜单中选择停止,然后再次从“ *** 作”菜单中选择“所有任务→所有任务→调整性能”,在“索引服务使用”对话框中选择最适合“索引服务”在计算机上的使用方式的选项,这里提供了经常使用、偶尔使用、从不使用、自定义共四种索引服务用法。
如果选择“自定义”,我们可以获得更多的调整权限,如图5所示,可以选择将“索引”滑块移到“迟缓”或“立即”位置,前者可以延缓索引,使用的系统资源较少;后者会立即索引新文档和更改过的文档,但将使用尽可能多的系统资源。如果一次处理的查询不多,可以将“查询”滑块移到“低负载”处;如果一次处理大量查询,请移到“高负载”处,当然后者将使用较多的资源。
“索引”和“查询”调整完毕后,都必须重新启动索引服务才能生效。
6. 使用系统监视器监视索引服务
我们可以使用Windows内置的性能监视功能来监视索引服务,从控制面板中双击“性能”图标打开如图6所示窗口,从右键菜单中添加相应的计数器,绑定时间(绑定到筛选器文件的平均时间)、索引速度(文档索引速度,但不包括生成的摘要)、总索引速度(包括生成的摘要)这3个计数器将显示在“索引服务筛选器”对象下,运行中的查询(正在处理的查询数)、查询总数(在该索引会话中处理的总数)这2个计数器将显示在“索引服务对象”下。
7. 降低索引服务的资源占用率
由于索引服务将耗费大量的内存和系统资源,如果内存不足将严重影响性能,因此建议配置更高容量的内存,同时配置速度快的处理器也可以提高索引的性能和查询的处理速度。
例如在选择一些个头较大的AVI视频文件时,系统往往会停止响应,由于系统首先会扫描该文件,并执行一次循环来检查文件的所有部分以便建立索引,假如文件超过700MB且没有索引信息,系统查询索引所需要的时间会相当长,而且CPU的使用率也会很高。如果使用的是NTFS分区,可以右击视频文件所在的文件夹,打开属性窗口的“常规→高级”对话框,取消勾选“为了快速搜索,允许索引服务编制该文件夹的索引”复选框,选择应用到所有文件,确定后即可。
最后需要说明的是,在运行备份程序或者扫描病毒时,由于这些程序会锁住一些文件造成索引服务停止更新内容,这样索引服务在试图索引这些文件时将超时,正确的做法是暂时停止索引服务。
删除索引可以使用ALTER TABLE或DROP INDEX语句来实现,DROP INDEX可以在ALTER TABLE内部作为一条语句处理,其格式如下:
DROP INDEX index_name ON talbe_name
ALTER TABLE table_name DROP INDEX index_name
ALTER TABLE table_name DROP PRIMARY KEY
注:其中,前两条语句是等价的,删除掉table_name中的索引index_name。
扩展资料:索引的使用及注意事项
EXPLAIN可以帮助开发人员分析SQL问题,explain显示了mysql如何使用索引来处理select语句以及连接表,可以帮助选择更好的索引和写出更优化的查询语句。
使用方法,在select语句前加上Explain就可以了:Explain select * from user where id=1
尽量避免这些不走索引的sql:
SELECT `sname` FROM `stu` WHERE `age`+10=30-- 不会使用索引,因为所有索引列参与了计算
SELECT `sname` FROM `stu` WHERE LEFT(`date`,4) <1990-- 不会使用索引,因为使用了函数运算,原理与上面相同
SELECT * FROM `houdunwang` WHERE `uname` LIKE'后盾%' 走索引
SELECT * FROM `houdunwang` WHERE `uname` LIKE "%后盾%" 不走索引
正则表达式不使用索引,这应该很好理解,所以为什么在SQL中很难看到regexp关键字的原因。
字符串与数字比较不使用索引
CREATE TABLE `a` (`a` char(10))
EXPLAIN SELECT * FROM `a` WHERE `a`="1" 走索引
EXPLAIN SELECT * FROM `a` WHERE `a`=1 不走索引
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)