腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
杰的记事本
专栏作者
举报
231
文章
486332
阅读量
32
订阅数
订阅专栏
申请加入专栏
全部文章(231)
javascript(60)
编程算法(58)
css(56)
html(44)
http(29)
node.js(25)
网站(20)
api(18)
网络安全(18)
sql(16)
打包(12)
容器(12)
https(12)
java(11)
c++(11)
数据库(10)
react(9)
npm(9)
angularjs(8)
jquery(8)
渲染(8)
缓存(8)
html5(8)
php(7)
ajax(7)
tcp/ip(7)
vue.js(6)
json(6)
typescript(6)
ecmascript(6)
mvc(5)
github(5)
sql server(5)
面向对象编程(5)
asp.net(4)
git(4)
express(4)
python(3)
xml(3)
android(3)
svg(3)
redux(3)
webpack(3)
windows(3)
canvas(3)
go(2)
actionscript(2)
.net(2)
ide(2)
容器镜像服务(2)
spring(2)
SSL 证书(2)
腾讯云测试服务(2)
electron(2)
sass(2)
koa(2)
开源(2)
爬虫(2)
seo(2)
cdn(2)
socket编程(2)
安全(2)
数据结构(2)
code(2)
flex(2)
min(2)
model(2)
space(2)
面试(2)
其他(1)
官方文档(1)
自动驾驶(1)
ios(1)
mac os(1)
c#(1)
ruby(1)
bash(1)
bootstrap(1)
webview(1)
sqlite(1)
oracle(1)
postgresql(1)
access(1)
linux(1)
nginx(1)
mapreduce(1)
访问管理(1)
腾讯优客(1)
云推荐引擎(1)
vr 视频解决方案(1)
eslint(1)
underscore(1)
serverless(1)
mobx(1)
grunt(1)
shell(1)
单元测试(1)
ddos(1)
敏捷开发(1)
微信(1)
小程序(1)
数据处理(1)
物联网(1)
sas(1)
wpf(1)
网站建设(1)
notepad ++(1)
云数据库 postgresql(1)
flutter(1)
action(1)
add(1)
block(1)
blur(1)
border(1)
break(1)
bug(1)
center(1)
comments(1)
count(1)
css3(1)
dependencies(1)
directive(1)
display(1)
execute(1)
execution(1)
expression(1)
filter(1)
fixed(1)
function(1)
having(1)
host(1)
inline(1)
input(1)
it(1)
jasmine(1)
layout(1)
mac(1)
mapping(1)
offset(1)
output(1)
playback(1)
position(1)
row(1)
select(1)
shadow(1)
state(1)
table(1)
tags(1)
templates(1)
title(1)
tools(1)
ui(1)
vux(1)
watch(1)
web(1)
width(1)
word(1)
存储过程(1)
浏览器(1)
事件(1)
搜索文章
搜索
搜索
关闭
SQL索引基础
sql
sql server
数据库
一、深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别: 其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然地翻开字典的前几页,因为“安”的拼音是“an”,而按照拼音排序汉字的字典是以英文字母“a”开头并以“z”结尾的,那么“安”字就自然地排在字典的前部。如果您翻完了所有以“a”开头的部分仍然找不到这个字,那么就说明您的字典中没有这个字;同样的,如果查“张”字,那您也会将您的字典翻到最后部分,因为“张”的拼音是“zhang”。也就是说,字典的正文部分本身就是一个目录,您不需要再去查其他目录来找到您需要找的内容。我们把这种正文内容本身就是一种按照一定规则排列的目录称为“聚集索引”。 如果您认识某个字,您可以快速地从自动中查到这个字。但您也可能会遇到您不认识的字,不知道它的发音,这时候,您就不能按照刚才的方法找到您要查的字,而需要去根据“偏旁部首”查到您要找的字,然后根据这个字后的页码直接翻到某页来找到您要找的字。但您结合“部首目录”和“检字表”而查到的字的排序并不是真正的正文的排序方法,比如您查“张”字,我们可以看到在查部首之后的检字表中“张”的页码是672页,检字表中“张”的上面是“驰”字,但页码却是63页,“张”的下面是“弩”字,页面是390页。很显然,这些字并不是真正的分别位于“张”字的上下方,现在您看到的连续的“驰、张、弩”三字实际上就是他们在非聚集索引中的排序,是字典正文中的字在非聚集索引中的映射。我们可以通过这种方式来找到您所需要的字,但它需要两个过程,先找到目录中的结果,然后再翻到您所需要的页码。我们把这种目录纯粹是目录,正文纯粹是正文的排序方式称为“非聚集索引”。 通过以上例子,我们可以理解到什么是“聚集索引”和“非聚集索引”。进一步引申一下,我们可以很容易的理解:每个表只能有一个聚集索引,因为目录只能按照一种方法进行排序。 二、何时使用聚集索引或非聚集索引 下面的表总结了何时使用聚集索引或非聚集索引(很重要)。 动作描述使用聚集索引 使用非聚集索引 外键列 应 应 主键列 应 应 列经常被分组排序(order by) 应 应 返回某范围内的数据 应 不应 小数目的不同值 应 不应 大数目的不同值 不应 应 频繁更新的列不应 应 频繁修改索引列 不应 应 一个或极少不同值 不应 不应
javascript.shop
2019-09-04
1.1K
0
Sql常用日期格式
sql server
sql
数据库
SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select getdate() 2004-09-12 11:06:08.177 整理了一下SQL Server里面可能经常会用到的日期格式转换方法: 举例如下: select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08
javascript.shop
2019-09-04
2.1K
0
“备份集中的数据库备份与现有的数据库不同”解决方法
数据库
sql
sql server
最主要就是要在“选项”中选择“覆盖现有数据库”,否则就会出现“备份集中的数据库备份与现有的数据库”的问题。
javascript.shop
2019-09-04
15.7K
0
只有mdf文件而没有ldf文件修复方法
sql server
go
数据库
sql
EXEC sp_attach_single_file_db @dbname = ‘data’, @physname = ‘E:\DataBase\data.mdf ‘
javascript.shop
2019-09-04
2.7K
0
Partitioning in SQL Server 2008
sql server
sql
数据库
Introduction Why don’t you partition your table if you have millions of rows and get complaints abou
javascript.shop
2019-09-04
939
0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
立即发文
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档