您的位置:首页 > 职场人生

黑马程序员_SQL 索引index、通配符和数据类型

2012-04-08 00:31 344 查看
----------------------
Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------

SQL 索引 Index

全盘扫描:对数据进行检索(select)效率最差的是全盘扫描,就是一条条的找。
如果没有目录,查汉语字典就要一页页的翻,而有了目录只要查询目录即可。为了提高检索的速度,可以为经常进行检索的列添加索引,相当于创建目录。
创建索引的方式,在表设计器中点击右键,选择“索引/键”→添加→在列中选择索引包含的列。
使用索引能提高查询效率,但是索引也是占据空间的,而且添加、更新、删除数据的时候也需要同步更新索引,因此会降低Insert、Update、Delete的速度。只在经常检索的字段上(where)创建索引。
(*)即使创建了索引,仍然有可能全盘扫描,比如like、函数、类型转换等。

SQL 通配符

通配符过滤使用LIKE。
单字符匹配的通配符为半角下划线“_”,它匹配单个出现的字符。以任意字符开头,剩余部分为“erry”:select * From T_Employee Where Name   '_erry'
多字符匹配的通配符为半角百分号“%”,它匹配任意次数(零或多个)出现的任意字符。“k%”匹配以“k”开头、任意长度的字符串。检索姓名中包含字母“n”的员工信息:select * from T_Employee where Name like '%n%'

SQL 常用字段类型



bit(可选值0、1)、datetime、int、archar
nvarchar(可能含有中文用nvarchar)
Nvarchar(50)、Nvarchar(MAX)
varchar、nvarchar和char(n)的区别:char(n)不足长度n的部分用空格填充

SqlServer中两种常用的组建数据类型


int(或bigint)+标识列(又称自动增长字段);uniqueidentifier(又称Guid、JUID)
用标识列实现字段自增可以避免并发等问题,不要开发人员控制自增。用标识列的字段在Insert的时候不用指定主键的值。
Guid算法是一种可以产生唯一标志的高效算法,它使用网卡MAC、地址、纳秒级时间、芯片ID码等算出来的,这样保证每次生成的GUID永远不会重复,无论是同一个计算机上还是不同的计算机所。

SQLServer中产生成GUID的函数newid(),  .NET生成GUID的方法:Guid.NewGuid()返回的是Guid类型。
int自增字段的优点:占用空间小、无需开发人员干预、易读;缺点:效率低;数据导入导出的时候很痛苦。
Guid的优点:效率高、数据导入导出方便;缺点占用空间大、不易读。
业界主流倾向于使用Guid

----------------------
Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息