欢迎投稿

今日深度:

SQL语句相关概念及练习之基础篇(1)(7)

四、SQL其他概念

--索引

1、什么是索引?优缺点是什么?

索引是对数据库表中一列或多列的值进行排序的一种单独的、物理的数据库结构。

优点:

1) 大大加快数据的检索速度;

2) 创建唯一性索引,保证数据库表中每一行数据的唯一性;

3) 加速表和表之间的连接;

4) 在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。

缺点:

1) 索引需要占物理空间;

2) 当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度。

--创建索引,在列上点击右键,写一个名称,选定列即可。

2、业务主键和逻辑主键

业务主键是使用有业务意义的字段做主键,比如身份证号,银行账号等;

逻辑主键是使用没有任何业务意义的字段做主键。因为很难保证业务主键不会重复(身份证号重复)、不会变化(账号升位),因此推荐使用逻辑主键。

3、SQL Server 两种常用的主键数据类型

1) int(或 bigint) + 标识列(又称自动增长字段)

用标识列实现字段自增可以避免并发等问题,不要开发人员控制自增。用标识列的字段在Insert的时候不用指定主键的值。

优点:占用空间小、无需开发人员干预、易读;

缺点:效率低,数据导入导出的时候很痛苦。

设置:"修改表"->选定主键->"列属性"->"标识规范"选择"是"

2) uniqueidentifier(又称GUID、UUID)

GUID算法是一种可以产生唯一表示的高效算法,它使用网卡MAC、地址、纳秒级时间、芯片ID码等算出来的,这样保证每次生成的GUID永远不会重复,无论是同一计算机还是不同计算机。在公元3400年前产生的GUID与任何其他产生过的GUID都不相同。

SQL Server中生成GUID的函数newid()。

优点:效率高、数据导入导出方便;

缺点:占用空间大、不易读。

业界主流倾向于使用GUID。

写在后面:看着洋洋洒洒的一大篇,除了一些常识性的东西和涉及到数据库的增删改查之外,其实没什么新鲜东西,但判断一个程序员水平的高低不仅是做过多么大的一个项目,更是对基础知识的掌握程度。初出茅庐,一家之言,欢迎赐教!J


www.htsjk.Com true http://www.htsjk.com/shujukujc/18792.html NewsArticle 四、SQL其他概念 --索引 1、什么是索引?优缺点是什么? 索引是对数据库表中一列或多列的值进行排序的一种单独的、物理的数据库结构。 优点: 1) 大大加...
评论暂时关闭