为文本数据创建索引
2014-03-19 18:35
288 查看
比较长的文本字段,比如存储URL的字段,可能类型为VARCHAR(300),如果要对这个字段建立非聚集索引,由于非聚集索引本身存储了索引字段的值,所以这个索引一定也比较大。耗费存储空间、内存空间不说,比较的性能也好不到哪里去。
对于这种情况,可以使用CheckSum方法创建该字段的计算列,然后为此计算列创建索引。
CheckSum,返回按照表的某一行或一组表达式计算出来的校验和值。 CHECKSUM 用于生成哈希索引。返回类型为整型:int。
这样,比较字符型字段是否相等,现在就转为了比较整型字段是否相等了,字段长度大大缩减。
CREATE TABLE Employee (
EmployeeID INT
, FirstName VARCHAR(50)
, LastName VARCHAR(50)
, EmailAddress VARCHAR(255)
, EmailAddressCheckSum AS CHECKSUM(EmailAddress))
当然,这种改动,以增加CPU负担为代价。不过,数据库的性能常常在磁盘、内存上,很少是CPU的问题。
对于这种情况,可以使用CheckSum方法创建该字段的计算列,然后为此计算列创建索引。
CheckSum,返回按照表的某一行或一组表达式计算出来的校验和值。 CHECKSUM 用于生成哈希索引。返回类型为整型:int。
这样,比较字符型字段是否相等,现在就转为了比较整型字段是否相等了,字段长度大大缩减。
CREATE TABLE Employee (
EmployeeID INT
, FirstName VARCHAR(50)
, LastName VARCHAR(50)
, EmailAddress VARCHAR(255)
, EmailAddressCheckSum AS CHECKSUM(EmailAddress))
当然,这种改动,以增加CPU负担为代价。不过,数据库的性能常常在磁盘、内存上,很少是CPU的问题。
相关文章推荐
- 为文本数据创建索引的更好方法
- 为文本数据创建索引
- Cassandra二级索引原理——新创建了一张表格,同时将原始表格之中的索引字段作为新索引表的Primary Key,并且存储的值为原始数据的Primary Key,然后再通过pk一级索引找到真正的值
- SQL Server 关系表的创建、索引创建和数据插入
- 如何创建一个与已知的一个表完全相同结构的新表(包括主键、外键、索引),同时将数据导入新表
- 59.排序好的大数据创建索引文件,并实现大文件的二分查找,根据索引百万数据秒读数据
- Spring-Boot+Solr搜索应用(索引数据创建+关键字高亮+thymeleaf静态html模板渲染跳转)
- Elasticsearch生成json,创建索引(把数据写入索引中)
- SqlServer 创建聚集索引与非聚集索引处理千万条数据的优化,以及之间的区别
- Elasticsearch通过JAVA创建索引、Mapping以及数据的增删该查操作
- sqlserver数据导入mysql四:给sqlserver中的表创建索引
- ElasticSearch速学 - 快速领悟:创建索引、api初步探索、查询数据
- elasticsearch 创建索引,以及检索一条数据
- Elasticsearch in java范例:索引文本数据、搜索文本数据入门
- 几百万的数据,mysql快速高效创建索引
- sqlserver2005自动创建数据表和自动添加某个字段索引
- B树索引+B树索引逻辑结构图+B树索引是怎么搜索数据+创建B树索引
- Oracle将已有数据的表改为分区表【创建表分区、索引分区】
- 如果在已数据的表中创建一个索引,索引块的pct_used将是90%左右
- sqlserver数据导入mysql四:给sqlserver中的表创建索引