黑马程序员_SQL 索引index、通配符和数据类型_index如何通配符引用_星慧的博客-程序员宅基地

技术标签: 算法  sqlserver  windows phone  insert  .net  SQL学习笔记  sql  

---------------------- 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培训、期待与您交流! ----------------------

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Hollyswood/article/details/7436623

智能推荐

配置文件_~Maple~的博客-程序员宅基地

配置文件1、配置文件SpringBoot使用一个全局的配置文件,配置文件名是固定的;application.propertiesapplication.yml配置文件的作用:修改SpringBoot自动配置的默认值;SpringBoot在底层都给我们自动配置好;YAML(YAML Ain’t Markup Language)YAML A Markup Language:是一个标记语言YAML isn’t Markup Language:不是一个标记语言;标记语

php用alert弹窗_php <script>alert 端口-程序员宅基地

echo "<script>alert( 111);</script>";_php alert 端口

STM32开发 | 系统时钟配置错误,导致系统程序死机的解决方法_`Eliauk的博客-程序员宅基地

目录一、现象二、原因以及解决方法1.原因2.解决方法一、现象由于系统时钟配置出现错误,导致程序死机,且重启后系统依然无法恢复,而且程序也烧录不进去。二、原因以及解决方法1.原因造成此现象的原因根本原因是系统时钟配置错误,导致的程序出错,此时只要擦除 flash 并重新烧录即可。2.解决方法打开 STM32CubeProgrammeer 并连接开发板连接成功后,并点击擦除按键进行 falsh 擦除。擦除成功后并重新烧录程序即可。

qt带小数点的数字串显示_让QtCreator在调试时显示字符串 Qt调试助手 QtDebuggingHelper qtc-debugging-helper..._智慧的烟火的博客-程序员宅基地

When starting gdb with application message “Debugging Helper Missing” is displayed [Solved]文章大意就是QtCreator现在不用Qt调试助手了改用python,而mingw自带的gdb不支持python,所以需要支持python的gdbBuildingGDB到这里下载支持python的对应的二进制GDBX...

关于导入moudle遇到的错误Error:(2, 0) Plugin with id 'com.github.dcendents.android-maven' not found解决办法_some_nights的博客-程序员宅基地

几次都遇到这个问题,之前怎么解决的一下子就忘了,这次终于长了记性,一定要把它记录下来,下次不能再犯这样的错误解决:只要在project的build.gradle文件中增加这个就可以了classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'classpath "com.jfrog.bintray.gradle:

PCL中的PointT类型_pcl::pointxyzinormal_一杯盐水的博客-程序员宅基地

目录简介PCL中的PointT类型1. PointXYZ2. PointXYZI3. PointXYZRGBA4. PointXYZRGB5. PointXY6. InterestPoint7. Normal8.PointNormal9. PointXYZRGBNormal10.简介 PCL中的PointT是可以追溯到它在ROS中作为开源库被开发的时间点。点云是一个比较复杂的n维数据结构,它需要表示不同类型的信息。PCL中的PointT类型1. PointXYZstruct __attribute_pcl::pointxyzinormal

随便推点

Redis的内存优化方式_redis 不压缩_LifeIsForSharing的博客-程序员宅基地

文章目录1.压缩值1.1如何压缩字符串1.2优势1.3权衡1.4何时避免压缩2.使用较小的键2.1如何转换为较小的键2.2优势2.3权衡3.切换到32位3.1优势3.2权衡3.3何时避免切换到32位4.升级Redis版本4.1权衡5.使用更好的序列化器5.1使用哪些序列化器5.1.1MessagePack5.1.2Protocol Buffers6.将较小的字符串组合为哈希6.1如何将字符串转换为哈希6.2优势6.3权衡6.4何时避免将字符串组合为哈希7.从Set切换为Intset7.1权衡8.切换到blo_redis 不压缩

Elasticsearch(es)多种方式查询索引是否存在重复数据_es判断索引是否存在_码农_菜猪的博客-程序员宅基地

Elasticsearch(es)多种方式判断索引里面是否存在重复数据_es判断索引是否存在

Node.js回调函数(阻塞与非阻塞)_zhenzuo_x的博客-程序员宅基地

回调函数的一般格式:function foo1(name, age, callback) { }function foo2(value, callback1, callback2) { }阻塞代码实例创建一个文件 input.txt ,内容如下:菜鸟教程官网地址:www.runoob.com创建 main.js 文件, 代码如下:var fs = require("fs");var data...

【Educoder作业】※ 冯·诺依曼体系结构——模拟 TOY 计算机(MOOC版)_JZYshuraK的博客-程序员宅基地

[Educoder作业]※ 冯·诺依曼体系结构——模拟 TOY 计算机(MOOC版)我就感觉这整个的好几个作业都没啥区别。想说的第一篇关于TOYTOYTOY计算机的博客里已经说过了。T1 程序加载mem = ['']*1000 #初始化主存单元#loadProgram:加载TOY程序file到主存mem中def loadProgram(file): ########## Begin ########## txt = open(file, 'r') s = txt.rea

java 使用md5加密中文时tomcat和main方法加密结果不一致解决方案_java web和main md5不一样_zjh_746140129的博客-程序员宅基地

笔者在一次对接接口时候出现一个问题:一个json串中带有中文,我想直接测试加密结果是否一致,结果使用本地main方法加密没问题,后面在程序里加密调用接口发现签名验证不通过,后面才发现三tomcat处理中文时的问题。 未统一编码前加密: 解决方案: 把resultString.getBytes()改为resultString.getBytes("UTF-..._java web和main md5不一样

推荐文章

热门文章

相关标签