zoukankan      html  css  js  c++  java
  • SQL Server 全文索引的硬伤

    全文引擎使用全文索引中的信息来编译可快速搜索表中的特定词或词组的全文查询

    全文索引优点:

      1.正确的索引会大大提高数据查询、解决海量数据模糊查询的好方法。

           2.一个表只能建立一个全文索引(但可以对多个字段)。

    全文索引缺点:

    1、存储空间,每个索引都要空间存储
    2、如果非聚集索引很多,一旦聚集索引改变,那么所有非聚集索引都会跟着变。
    3、过多索引会导致优化器优化过程需要评估的组合增多。
    4、每个索引都有统计信息,索引越多统计信息越多。
    5、更新开销,一旦一个数据改变,并且改变的列比较多,可能会引起好几个索引跟着改变。

    全文索引需要注意:

    1. 表中必须有一个唯一性索引,当并不需要是主键。
    2. 一个表中只能有一个全文索引。
    3. 你需要告诉你的脚本你想使用全文索引,如何告诉呢?那就是使用关键字:CONTAINS、FULLTEXT、CONTAINSTABLE、FREETEXTTABLE。例如:SELECT * FROM table_name WHERE CONTAINS(fullText_column,'"search contents*"');需要记住CONTAINS等在不同场景、需求下的用法。
    4. 如果定义了变量作为传入值,那么就要注意是否需要在set字符的时候的前面加入N标识。
    5. 要对表设置全文索引,那就得先对数据库设置了全文索引,这样点击表右键的时候,“全文索引”选项才能用。
    6. 脚本在查找的时候是不区分大小写的。解决办法:SELECT * FROM Table_name WHERE Column_name='A' COLLATE Chinese_PRC_CS_AI;或者SELECT * FROM Table_name WHERE ASCII(Column_name) = ASCII('A');
    坚持就是力量 量变造就质变
  • 相关阅读:
    java 获取一些项目或系统属性
    js验证是否为空、数字、邮政编码、联系电话、传真、电子邮箱格式(公用js)
    转:RBAC用户角色权限设计
    转:HTTP Header 详解一
    Myeclipse 突然出现启动不了的解决办法
    位图排序java版
    排序算法 归并排序
    转:Java安全管理器(Security Manager)
    一种将0元素前置的实现方案
    排序算法 快速排序源码
  • 原文地址:https://www.cnblogs.com/songxm/p/14676665.html
Copyright © 2011-2022 走看看