答:SQLServer DBA 三十问之一: char、varchar、nvarchar之间的区别(包括用途和空间占用);xml类型查找某个节点的数据有哪些方法,哪个效率高;使用存储 过程和使用T-SQL查询数据有啥不一样;
http://www.cnblogs.com/fygh/archive/2011/10/18/2216166.html
1. char、varchar、nvarchar之间的区别(包括用途和空间占用);xml类型查找某个节点的数据有哪些方法,哪个效率高;使用存储
过程和使用T-SQL查询数据有啥不一样;
------------------------------------------------
SQL中char、varchar、nchar、nvarchar的区别
http://www.cnblogs.com/carekee/articles/2094676.html
char(n):定长存储定长数据很方便 效率最高 超长会截取,不够长的存储空格,应用时要用trim之类的函数把两边的空格去掉 n 必须是一个介于 1 和 8,000 之间的数值
n代表字节数,对英文(ASCII)字符占用1个字节,也可以存储中文,对一个汉字占用2个字节
varchar(n):长度可变且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度
n代表字节数,每个英文(ASCII)字符都占用1个字节,也可以存储中文,对一个汉字占用两个字节
nvarchar(n):变长Unicode,无论英文中文字符都占2个字节 n 的值必须介于 1 与 4,000 之间 n代表字符数
nchar(n):定长Unicode,无论英文中文字符都占2个字节 n 的值必须介于 1 与 4,000 之间 n代表字符数
char,varchar 最多8000个英文,4000个汉字
nchar,nvarchar 最多可存储4000个字符,无论英文还是汉字
何时该用CHAR,何时该用varchar2?
1、CHAR与VARCHAR是一对矛盾的统一体,两者是互补的关系.
VARCHAR比CHAR节省空间,在效率上比CHAR会稍微差一些,
即要想获得效率,就必须牺牲一定的空间,这也就是我们在数据库设计上常说的‘以空间换效率’。
2、VARCHAR虽然比CHAR节省空间,但是如果一个VARCHAR列经常被修改,而且每次被修改的数据的长度不同,这会引起‘行迁移’(Row Migration)现象,而这造成多余的I/O,是数据库设计和调整中要尽力避免的,在这种情况下用CHAR代替VARCHAR会更好一些。
--------------------------------------------------------------------------------------------------
xml的数据类型,在存储序列化数据的时候比较有用,还有就是配置文件。
@xml.query()得到的结果也是xml
@xml.value()得到的结果可以转换成int/varchar等。。。
@xml.exist()检查是否包含某个节点
@xml.modify()可以修改里面的内容
效率:exist>query>value --这只是我的理解,exist只是检查路径,query没有转换,value需要转换。
XML类型查找数据的方法:query方法用于从XML数据类型提取XML;value方法用于从XML文档中返回单个值;exist方法用于确定指定节点是否存在于XML文档中。
这几个查找数据的方法谈不上哪个效率更高,每个都有它的用途;
--------------------------------------------------------------------------------------------------
储过程和T-SQL:
存储过程编译过,T-SQL每次需要重新编译;SP其实也是T-SQL的一部分。
使用存储过程和T-sql语句最大的区别就是:存储过程在创建时就进行了编译,以后调用时不在需要编译了,速度快。而T-sql语句每次执行时都会进行编译一次的,
会浪费很多时间,而且速度慢
答:SQLServer DBA 三十问之一: char、varchar、nvarchar之间的区别(包括用途和空间占用);xml类型查找某个节点的数据有哪些方法,哪个效率高;使用存储 过程和使用T-SQL查询数据有啥不一样;的更多相关文章
- SQLServer DBA 三十问
原贴:http://www.cnblogs.com/fygh/archive/2011/10/18/2216166.html 答案:https://blog.csdn.net/cjssimei527/ ...
- SQLServer DBA 三十问(加强版)
距离最初发布SQLServer DBA 三十问 已有一年多了,大家对其中的某些问题讨论比较激烈,要回答出来这些问题需要比较扎实的SQLServer 基础和一定的实际操作经验,如果你试着去回答其中的问题 ...
- 答:SQLServer DBA 三十问之六:Job信息我们可以通过哪些表获取;系统正在运行的语句可以通过哪些视图获取;如何获取某个T-SQL语句的IO、Time等信息;
6. Job信息我们可以通过哪些表获取:系统正在运行的语句可以通过哪些视图获取:如何获取某个T-SQL语句的IO.Time等信息: 我的MSDB数据库中有全部的表: sys.all_columns,s ...
- 答:SQLServer DBA 三十问之五:有关视图索引
5. 视图上我们能建索引吗,如果能建的话,会啥好处和坏处:视图上建索引和表上建索引有啥区别: ----------------------------------------------------- ...
- 答:SQLServer DBA 三十问之三:有哪些操作会使用到TempDB;如果TempDB异常变大,可能的原因是什么,该如何处理
3. 有哪些操作会使用到TempDB:如果TempDB异常变大,可能的原因是什么,该如何处理: tempdb的用途:1)存储专用和全局临时变量,不考虑数据库上下文: 2)与Order by 子句,游标 ...
- 答:SQLServer DBA 三十问之二:系统DB有哪些,都有什么作用,需不需要做备份,为什么;损坏了如何做还原(主要是master库)
2. 系统DB有哪些,都有什么作用,需不需要做备份,为什么:损坏了如何做还原(主要是master库): master:它包含一个系统表集合,是整个实例的中央存储库,维护登录账户,其他数据库,文件分布, ...
- SQL Server DBA三十问【转】
http://database.51cto.com/art/201110/298926.htm 很多开发人员都想成为一名DBA,也有很多人一开始就把自己定位成为一名DBA,DBA究竟需要掌握些什么知识 ...
- sql server数据库中char,varchar,nvarchar字段的区别
Char,varchar,nvarchar字段是sql server数据库中的三种字段类型.好多人在选择存储的时候不知道如何抉择,我给大家讲下这个三个字段类型的区别. Char(n)是长度为n个字节的 ...
- sql server dba常用概念、操作分析char,varchar,nvarchar,varchar(max)
1.设计表时如何使用char 与 varchar? 请写出你对varchar(max)的理解. 1.设计表时如何使用char 与 varchar? 请写出你对varchar(max)的理解. char ...
随机推荐
- JSBinding / FAQ & Trouble Shooting
Q: Why javascript file extension is .javascript?A: Because Unity treats .js files as Unity script an ...
- C-随笔
C语言的设计哲学之一: 程序员知道自己在干什么-没有安全带! 值的类型并不是值的内在本质, 而是取决于它被使用的方式 1.#include <stdio.h>在预处理器处理的时候把stdi ...
- 基于XML的AOP配置-转
http://www.cnblogs.com/yangy608/archive/2010/11/14/1876839.html AOP(Aspect-Oriented Programming,面向切面 ...
- cookie欺骗
1.什么是cookie欺骗改变cookie的值,发给服务器,就是cookie欺骗.正常情况下,受浏览器的内部cookie机制所限,每个cookie只能被它的原服务器所访问,我们操作不了原服务器. 2. ...
- EX:The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
EX:The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secu ...
- Tomcat启动脚本
记录一个比较好的tomcat启动脚本,截取<OneinStack>,修改如下两个参数即可用. 使用之前修改下面2个参数: #Location of JAVA_HOME (bin files ...
- Json格式应用
Json格式在用于数据存储方面比xml有着空间上的优势,Json格式又主要分为两种格式:名称/值 对 和数组. 在我的业务环境中需要先把一种空间比较小的格式. 测试如下: 取数据库中的一张表然后生成两 ...
- Java 使用线程方式Thread和Runnable,以及Thread与Runnable的区别
一. java中实现线程的方式有Thread和Runnable Thread: public class Thread1 extends Thread{ @Override public void r ...
- SQL Server中的锁 详解 nolock,rowlock,tablock,xlock,paglock
摘自: http://www.myexception.cn/sql-server/385562.html 高手进 锁 nolock,rowlock,tablock,xlock,paglock 锁 no ...
- 使用7-zip制作自解压安装包
7-zip制作自解压包很方便,只要在压缩时选择”创建自释放程序”选项. 而自解压安装包有点麻烦,不如WinRAR方便. 准备工具:下载 LZMA SDK 这里面有 7zSD.sfx (16.04版7z ...