
【MS SQL】
刘杰友.互联网产品人
只有锦上添花,没有雪中送碳,保持钢铁般的意志,大海般的胸怀,初恋般的激情。互联网产品人的两点抓手 “流量”、“产品”
展开
-
连接查询
三、连接查询 通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。 在关系数据库管理系统中,表建立时各数据之间的关系不必确定,常把一个实体的所有信息存放在一个表中。当检索数据时,通过连接操作查询出存放在多个表中的不同实体的信息。连接操作给用户带来很大的灵活性,他们可以在任何时候增加新的数据类型。为不同实体创建新的表,尔后通过连接进原创 2008-05-28 13:56:00 · 627 阅读 · 0 评论 -
sql server2008 表分区
1、单表达多少条数据后需要分区呢? a.个人认为要似情况而定,有些常操作的表,分区反而带来麻烦,可以采用物理分表以及其它方法处理; b.对于一些日志、历史订单类的查询数据,500w左右即可享受分区带来的优越性; c.可以将分区映射到文件组,每个分区访问一个不同的物理磁盘驱动器,以便提高 I/O 性能 2、sql server 2008 中怎么分呢? a.原创 2011-10-31 14:30:55 · 5398 阅读 · 0 评论 -
sql锁机制
锁的兼容性 T1持有 IS锁 S锁 U锁 IX锁 SIX锁 X锁意向共享锁(IS) 是 是 是 是 是 是共享锁(S) 是 是 是 否 否 否更新锁(U) 是 是原创 2011-06-13 22:36:00 · 591 阅读 · 0 评论 -
全文索引
<br />我们通常使用全文索引,就象这样:SELECT * FROM table_name WHERE CONTAINS(column,'search contents')。 <br />我们通过例子来学习,假设有表 students,其中的 address 是全文本检索的列。<br /> <br />1. 查询住址在北京的学生 <br />SELECT student_id,student_name FROM students WHERE CONTAINS( address, 'beij原创 2011-05-17 08:36:00 · 548 阅读 · 0 评论 -
存储过程中常用语句
一、set nocount on当 SET NOCOUNT 为 ON 时,不返回计数(表示受Transact-SQL 语句影响的行数)。当 SET NOCOUNT 为 OFF 时,返回计数。1、为on时,也更新@@rowcount函数2、为on时,select,insert,update,delete结束时将不会在查询结果中显示"nn rows affected"3、为on时,如果存储过程中包含的一些语句并不返回许多实际的数据,则该设置由于大量减少了网络流量,因此可显著提高性能4、为on原创 2011-01-21 14:54:00 · 1239 阅读 · 0 评论 -
创建视图索引,提高性能
<br />一、什么样的视图允许建索引?<br /> 1、视图不能引用其它视图,只能引用基表;<br /> 2、基表不能跨数据库,只能在同一库中;<br /> 3、必须使用 SCHEMABINDING 关键词,将视图梆定到基础表的架构; <br /> 例:<br /> create view v_test<br /> with schmabinding<br /> as<br /> ......<br />原创 2010-12-11 11:11:00 · 785 阅读 · 0 评论 -
sql事件探查器
一、跟踪数据库中某存储过程:1、select db_id() 查询数据库的ID;2、新建事件控查器-> 跟踪属性-> 筛选 DatabaseID=上面查出的db_id TextData=%你要跟踪的过程名%原创 2010-05-21 11:04:00 · 742 阅读 · 0 评论 -
常用系统存储过程
1、如果获取sp_executesql 执行sql后的返回值:declare @sql nvarchar(1024)set @sql = select @a=count(1) from t_phonedeclare @a int exec sp_executesql @sql,N@a int output, @a outputprint @a原创 2010-05-21 11:06:00 · 574 阅读 · 0 评论 -
跨服务器sql
跨服务器sql查询:方式一:select * from opendatasource(sqloledb,Data Source=192.168.1.30;User ID=sa;Password=hello).TestPlatForm.dbo.t_test -- 查询远程服务器(192.168.1.30)数据库(TestPlatForm)中表t_test的记录主式二:--在本地访问192原创 2010-04-28 18:22:00 · 702 阅读 · 0 评论 -
小型数据库介绍
Access,MSDE 2000,Embedded Firebird,SQLite等都是可以免费再分发(free redistributable)的数据库。相比而言,MSDE 2000 显著缺点是需要安装,最大优点是和服务器端的 SQL Server 编程模型一致,开发便利。Access的显著缺点是功能较少,不支持事务等常用功能,最大优点是简单、多数开发者都很熟悉,部署也很方便。SQLite支转载 2009-12-31 14:09:00 · 1283 阅读 · 0 评论 -
索引碎片的整理
解决碎片问题 一旦你确定表或索引有碎片问题,那么你有4个选择去解决那些问题:1. 删除并重建索引 2. 使用DROP_EXISTING子句重建索引 3. 执行DBCC DBREINDEX 4. 执行DBCC INDEXDEFRAG 尽管每一个技术都能达到你整理索引碎片的最终目的,但各有各的优缺点。 删除并重建索引 用DROP INDEX和CREATE I原创 2009-06-28 16:25:00 · 1450 阅读 · 0 评论 -
索引与SQL优化
本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/lanyu_84/archive/2008/01/31/2074221.aspx1、什么是聚集索引和非聚集索引 SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。 其实,我们的汉语字转载 2009-06-24 14:31:00 · 561 阅读 · 0 评论 -
常用SQL语句
/**************************** 表操作 *******************************/创建表:CREATE table [表名] ( [自动编号字段] int IDENTITY (1,1) PRIMARY KEY , [字段1] nVarChar(50) default 默认值 null , [字段2] ntext null , [字段3] dat原创 2009-05-23 15:41:00 · 687 阅读 · 0 评论 -
MS SQL用ROWCOUNT解决TOP子句不支持变量的问题 (转载)
在使用SQL Server(SQL Server 2000)进行排序我们经常使用的是TOP关键字,但是使用TOP有一个问题,就是TOP后面只支持数值而不支持数值型的变量,这样就没有办法在存储过程中来支持这种动态排序的要求。或者使用Exec来执行构造SQL来执行,但这样执行的效率低而且不够灵活。实际上,在SQL Server 2000中我们完全可以使用ROWCOUNT关键字解决这个问题。原创 2009-02-12 18:16:00 · 1182 阅读 · 0 评论 -
在SQL server中,随机函数rand()
在SQL server中,有个随机函数rand(),有不少新手可能不知道存在这个函数,现在我就把这个函数的一些随机数生成技巧写出来,这是面向菜鸟的,老鸟请不要拍砖呀,我的头还不够硬,不过还是希望老鸟们多多指教了,现在切入正题:随机函数:rand()在查询分析器中执行:select rand(),可以看到结果会是类似于这样的随机小数:0.36361513486289558,像这样的小数在实际应用转载 2009-02-02 22:58:00 · 3084 阅读 · 0 评论 -
SQL Server 链接服务器查询慢?
1、运行 regedt32,浏览至 HKEY_LOCAL_MACHINE oftware\Microsoft\MSDTC。 添加一个 DWORD 值 TurnOffRpcSecurity,值数据为 1。 2、重启MS DTC服务。 3、打开“管理工具”的“组件服务”。 a. 浏览至 "启动管理工具 "。 b. 选择 "组件服务 "。转载 2011-11-29 10:54:12 · 5381 阅读 · 0 评论