聚集索引与非聚集索引,其实已经有很多的文章做过详细介绍。

非聚集索引

简单来说,聚集索引是适合字段变动不大(尽可能不出现Update的字段)、出现字段重复率小的列,因为聚集索引是对数据物理位置相同的索引,所以一张表中只能出现一个聚集索引。

聚集索引的特征:代表全部数据存储的位置索引,不能经常去更新这个字段,最好不出现重复。

聚集索引

非聚集索引也有很多人叫法上细分为唯一索引、全文索引、普通索引,我们在进项条件查询时,作为条件过滤的字段通常被设置为非聚集索引,这样就不需要去读取原始记录,直接查询索引将大大的节省时间。

非聚集索引的特征:不影响数据存储的物理顺序,对字段的修改、删除、新增来说影响不大,这样我们就可以把常错做的字段并且有需要快速查询的字段定位非聚集索引

不正确建聚集索引的影响:可能会导致每次插入数据都要重新编排索引位置,导致数据的写入极慢。

创建聚集索引

Use log
CREATE CLUSTERED INDEX 索引名 on 表名(字段名)--创建聚集索引

创建非聚集索引

Use log--使用的库
CREATE NONCLUSTERED INDEX 索引名称 --创建非聚集索引名称
ON 表名(字段名) --为LogSearch表的Keywords字段创建索引
WITH FILLFACTOR = 30 --填充因子为30%
GO

最后这个填充因子主要是在一些字段中我们可以根据读写比例来灵活调整,以便更大的发挥出索引的特性。

填充因子可以参考:

低更改的表(读写比率为100:1):100%的填充因子
高更改的表(写超过读):50-70%的填充因子
读写各一半的:80-90%的填充因子

SqlServer中创建非聚集索引和非聚集索引的更多相关文章

  1. SqlServer中创建Oracle连接服务器

    转自太祖元年的:http://www.cnblogs.com/jirglt/archive/2012/06/10/2544025.html参考:http://down.51cto.com/data/9 ...

  2. SqlServer中创建Oracle链接服务器

    SqlServer中创建Oracle链接服务器 第一种:界面操作 (1)展开服务器对象-->链接服务器-->右击“新建链接服务器” (2)输入链接服务器的IP (3)链接成功后 第二种:语 ...

  3. Sql语句在SqlServer中创建数据库、表格并添加约束

    通过Sql语句来创建数据库与架构 创建数据库 数据库的创建首先是要引用主数据库的,需要在master数据库的环境下进行创建.大致的语法如下: -- 使用master数据库 use master -- ...

  4. 在SQLSERVER中创建聚集索引

    CREATE CLUSTERED INDEX CLUSTER_id ON TABLE_name(ID)------批量

  5. sqlserver中创建链接服务器

    链接服务器在跨数据库/跨服务器查询时非常有用(比如分布式数据库系统中),本文将以图文方式详细说明如何利用SQL Server Management Studio在图形界面下创建链接服务器.     1 ...

  6. sqlserver中创建链接服务器图解教程

    1.展开服务器对象-->链接服务器-->右击"新建链接服务器" 注意:必须以数据库管理员身份登录(通常也就是sa帐号)后,才可以创建"链接服务器" ...

  7. 在sqlserver中创建表

    1:在sql语句中,临时表有两类,分别是局部(local)和全局(global)临时表,局部临时表只在其会话(事务)中可见,全局临时表可以被会话(事务)中的任何程序或者 模块访问 2:创建局部临时表 ...

  8. sqlserver中创建包含事务的存储过程

    什么是事务     事务时包含1条或多条语句的逻辑单元.事务中的语句是一个整体,要么一起提交,要么一起撤销.事务在提交前可以回滚,一旦提交就不能撤销修改了,是永久性的修改.   为什么使用事务     ...

  9. 在SQLSERVER中创建DBLINK,操作远程服务器数据库

    --配置SQLSERVER数据库的DBLINK exec sp_addlinkedserver @server='WAS_SMS',@srvproduct='',@provider='SQLOLEDB ...

随机推荐

  1. 爬虫系列之mongodb

    mongo简介 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非 ...

  2. re 模块 分组特别说明

    关于分组优先以及 " | " 的细致练习 from django.test import TestCase import re # Create your tests here. ...

  3. openstack——删除网络

    #!/bin/bash #delete vm for vim in `nova list |awk '{if( NR > 2 ) {print $2}}'`;do nova delete $vi ...

  4. 行为驱动开发BDD和Cucunber简介

    测试驱动开发(TDD) 1.测试驱动开发,即Test-Driven Development(TDD),测试驱动开发是敏捷开发中的一项核心实践和技术,也是一种设计方法论.TDD的原理是在开发功能代码之前 ...

  5. laravel 图片验证码

    今天看见一个网站登录页面有个图片验证码,想想自己以前好像真没弄过这个玩意,正好现在有时间,准备用laravel来弄个图片验证码出来,不多BB,直接上代码 1.直接使用别人封装好的,composer下载 ...

  6. 老男孩Python全栈学习 S9 日常作业 005

    1.有如下变量,请实现要求的功能 tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age& ...

  7. ZooKeeper 概述

    ZooKeeper:分布式应用程序的分布式协调服务 ZooKeeper:是用于分布式应用程序的分布式开源协调服务 可以简单理解:ZooKeeper = 文件系统 + 通知机制 从设计模式角度理解:Zo ...

  8. 安装mysql和xampp遇到问题

    1.mysql的期望地址和配置的地址不一致: 解决方法:修改注册表 在附件命令提示符输入regedit 找[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Se ...

  9. 重置sqlserver自增长列的种子

    重置sqlserver自增长列的种子 转自:http://hi.baidu.com/zbphot/item/41c55982c2d02dd05e0ec184 如果表中的数据不要了,用下面的语句:  t ...

  10. 第二十节: 深入理解并发机制以及解决方案(锁机制、EF自有机制、队列模式等)

    一. 理解并发机制 1. 什么是并发,并发与多线程有什么关系? ①. 先从广义上来说,或者从实际场景上来说. 高并发通常是海量用户同时访问(比如:12306买票.淘宝的双十一抢购),如果把一个用户看做 ...