SQL 比较乱

--DROP TABLE T_UserInfo----------------------------------------------------
--建测试表
CREATE TABLE T_UserInfo
(
    Userid varchar(20),  UserName varchar(20),
    RegTime datetime, Tel varchar(20),
)
--插入测试数据
DECLARE @I INT
DECLARE @ENDID INT
SELECT @I = 1
SELECT @ENDID = 100  --在此处更改要插入的数据,重新插入之前要删掉所有数据
WHILE @I <= @ENDID
BEGIN
    INSERT INTO T_UserInfo
    SELECT ‘ABCDE‘+CAST(@I AS VARCHAR(20))+‘EF‘,‘李‘+CAST(@I AS VARCHAR(20)),
       GETDATE(),‘876543‘+CAST(@I AS VARCHAR(20))
    SELECT @I = @I + 1
END

--相关SQL语句解释
---------------------------------------------------------------------------
--建聚集索引
CREATE CLUSTERED INDEX INDEX_Userid  ON T_UserInfo (Userid)
--建非聚集索引
CREATE NONCLUSTERED INDEX INDEX_Userid  ON T_UserInfo (Userid)
--删除索引
DROP INDEX T_UserInfo.INDEX_Userid
---------------------------------------------------------------------------
---------------------------------------------------------------------------
--显示有关由Transact-SQL 语句生成的磁盘活动量的信息
SET STATISTICS IO ON
--关闭有关由Transact-SQL 语句生成的磁盘活动量的信息
SET STATISTICS IO OFF
--显示[返回有关语句执行情况的详细信息,并估计语句对资源的需求]
SET SHOWPLAN_ALL  ON
--关闭[返回有关语句执行情况的详细信息,并估计语句对资源的需求]
SET SHOWPLAN_ALL  OFF
---------------------------------------------------------------------------
请记住:SET STATISTICS IO 和 SET SHOWPLAN_ALL 是互斥的。

  

时间: 2024-11-06 03:34:06

SQL 比较乱的相关文章

tempdb文件写远远大于读,内存不断飙升问题

最近忽然碰到了一台数据库服务器磁盘IO升高一倍多,内存增长很快.cpu正常,网络流量正常,明显不是有人在拉数据.就想着分析看看.最终找到了原因.记录下分析过程. 1.用dbcc showfilestats  查看文件空间分配情况:用sp_lock和sp_who查看是否有死锁情况. 2.用select * from tempdb..sysobjects where xtype='U' 查看tempdb里有哪些对象.带1个#的表是无法查看表数据的,带##的是全局临时表是可以查看表数据的. 3.运行下

不写画面的网页程序设计,Web API、Web Service、WCF Service

客户有一个系统,经常要连上我方,查询数据 以前的作法是给对方一个账号,让他可以连上我们的DB来查询. 所以,早期的同仁,真的给他们DB链接字符串 客户的Windows程序.网站就真的靠这么危险的方式,连上我们公司的DB. 但怎么想都觉得危险,而且...... 如果对方SQL指令乱下,把效能搞得更烂,岂不是惨兮兮? 如果对方不小心,配置文件被偷走,看到我方DB Connection String怎么办? 几年前的 Internet还没有那么大的带宽,所以还得种种限制,避免他们一次查询太多数据 我接

SQL反模式学习笔记2 乱穿马路

2014-10-10 14:12:02 程序员通常使用逗号分隔的列表来避免在多对多的关系中创建交叉表, 将这种设计方式定义为一种反模式,称为“乱穿马路”. 目标:  存储多属性值,即多对一 反模式:将多个值以格式化的逗号分隔存储在一个字段中          比如:ProductAccount表(Contacts表),产品与账号信息表,一个产品有有多个联系人账号信息. 1.查询:查询指定账号的产品.不能使用SQL语法中的等号操作符,只能使用like 或者正则表达式,索引将不可用,查询效率降低.

对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚。Coding?Horror上有一篇文章,通过文氏图?Venn?diagrams?解释了SQL的Join。我觉得清楚易懂,转过来。

对于SQL的Join,在学习起来可能是比较乱的.我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚.Coding Horror上有一篇文章,通过文氏图 Venn diagrams 解释了SQL的Join.我觉得清楚易懂,转过来. 假设我们有两张表.Table A 是左边的表.Table B 是右边的表.其各有四条记录,其中有两条记录name是相同的,如下所示:让我们看看不同JOIN的不同. A表 id na

SQL数据库约束行为---防止数据乱填(即数据规范化)

防止乱填:一.Check约束.按照某种规则对数据进行检查.操作:在表的设计界面中,右击相应的列,选择“CHECK约束”在弹出的对话框中,设置约束的名称和表达式. 代码实现: create table car ( code int check(code>0) ) 二.外键约束.主表,从表.主表是用来约束从表的.外键应当建在从表上.使用主表的主键来约束从表外键.从表中的外键列是不能随便乱填内容的,它只能填写主表主键中存在的数据. 一旦建立起外键关系来,从表的外键不能乱填,反过主表中的主键列也不能乱删

Bootstrap + AngularJS+ Ashx + SQL Server/MySQL

去年年底12月,为适应移动端浏览需求,花了1个月时间学习Bootstrap,并将公司ASP网站重构成ASP.NET. 当时采取的网站架构: Bootstrap + jQuery + Ashx + SQL Server 时间紧,没人带,只能硬着头皮,最后如期完成,但是也遗留了几个问题. 问题: 1.页面查询条件太复杂,太多的checkbox,jQuery操作DOM虽然方便,但是组合成json提交给后端还是比较麻烦,有没有天然支持json的前端框架或者脚本语言? html控件做的任何修改,都自动保存

SQL慢查询优化

原文链接:http://blog.jobbole.com/86594/ MySQL凭借着出色的性能.低廉的成本.丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库.虽然性能出色,但所谓"好马配好鞍",如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如"精通MySQL"."SQL语句优化"."了解数据库原理"等要求.我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很

Calcite中的流式SQL

Calcite中的流式SQL Calcite中的流式SQL总体设计思路 总体语法应该兼容SQL,这个是和目前流处理SQL的发展趋势是一致的. 如果部分功能标准SQL中没有包含,则尽量采用业界标杆(Oracle).比如模式匹配的功能,目前流处理中还没有针对语法达成共识,那么在设计上,就采用Oracle data warehouse的Match Recognize的方式.还有滑窗功能. 如果还有功能目前业界标杆都没有,那么就通过函数的方式拓展,翻滚窗口和跳动窗口,这两个窗口在标准SQL中都是不包含的

对于sql缓存的一点疑问,以及对未来的展望

对于数据库,我也是个小白 我先举个我遇到的例子吧 一张考勤结果表,这是结果表tm_dayresult id(主键)   psn_num(人员编号)  dutydate(排班日期)  starttime(上班时间) endtime(下班时间)    缺勤时间,旷工时间,早退时间,工作时间,,,,, 客户的情况是:(规定工作时间是08:30-17:30) 客户的需求是,假如我今天加班到20:00之后,第二天9:30以后打卡才算迟到 我接手的情况是:没有源代码,不能改源代码(用友标准产品,不允许修改)