黑马程序员_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培训、期待与您交流! ----------------------
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培训、期待与您交流! ----------------------
相关文章推荐
- 数据类型不一致导致的SQL不走索引
- SQL 语句调优 where 条件 数据类型 临时表 索引
- SQL 数据类型、约束、索引及视图
- 黑马程序员之SQLServer数据类型及使用分析
- 数据类型不一致导致的SQL不走索引
- SQL 数据类型、约束、索引及视图
- SQL 语句调优 where 条件 数据类型 临时表 索引
- 精通数据库SQL——java数据类型,hibernate数据类型,标准sql数据类型之间的对应表
- java与sql 之间数据类型转换关系
- SQL内数据类型
- SQL标准数据类型
- 解决SQL将varchar值转换为数据类型为int的列时发生语法错误
- 【黑马程序员】---C语言数据类型总结01
- SQL点滴4—筛选数据列的类型,字段大小,是否可为空,是否是主键,约束等等信息
- SQL获取datetime类型的数据内容
- SqlServer数据类型、C#SqlDbType对应关系及转换
- SQL中使用CONVERT函数对时间数据类型进行格式转化
- MySQL初步,数据类型及SQL语句
- java.sql.Types,数据库字段类型,java数据类型的对应关系
- 黑马程序员——C语言中指针与其他数据类型的结合使用