Sql FAQ
1.查询结果根据条件翻译成其他值
select SNAME,FENSHU=case when FENSHU>=90 then '优秀' when FENSHU>=80 then '良好'when FENSHU>=60 then '及格' else '不及格' end
from S_STUDENT
select SNAME,FENSHU=case FENSHU when 90 then '优秀' when 80 then '良好' when 60 then '及格' else '不及格' end
from S_STUDENT
2.sql 动态组合查询条件 where 1=1 效率
一般不会影响效率,会自动优化
当然也可替换:
bool hasWhere = false;
StringBuilder strSql = new StringBuilder();
strSql.Append("select * FROM dt_users_log ");
if (txtUserID.Text.Trim() != string.Empty)
{
hasWhere = AppendWhere(strSql, hasWhere);
strSql.Append("user_name=@user_id ");
}
if (DatePicker1.Text.Trim() != string.Empty && DatePicker2.Text.Trim() != string.Empty)
{
hasWhere = AppendWhere(strSql, hasWhere);
strSql.Append("login_time between @start_time and @end_time ");
} private bool AppendWhere(StringBuilder sb, bool hasWhere)
{
if (!hasWhere)
{
hasWhere = true;
sb.Append("where ");
return hasWhere;
}
else
{
hasWhere = false;
sb.Append("and ");
return hasWhere;
}
}
3.批量插入
declare @startTime datetime
declare @idx int
set @idx = 1
set @startTime = GETDATE() while @idx < 18
begin
insert into TTest01(c1, c2, C3) select C1,C2,c3 from TTest01
set @idx = @idx + 1
end
print datediff(ms, @startTime, GETDATE())
4.清理日志 收缩mdf ldf 文件
sql server 2005、2008清理数据库日志
USE 数据库名
ALTER DATABASE 数据库名 SET RECOVERY SIMPLE
ALTER DATABASE 数据库名 SET RECOVERY FULL
DBCC SHRINKDATABASE(数据库名,0)
这个查询语句可以随时执行,不影响数据库的运行。
清理ldf的操作可以使用sql server代理,每天自动执行一次,就不怕文件增长撑爆硬盘了。
一般mdf用不着收缩,收缩多了容易产生文件碎片,因为delete数据之后,mdf文件中可用页面空间会保留在那里,等下次有新数据进来时,会继续使用。如果实在要清理,可以参考下面的语句:
sql server 2000、2005、2008 收缩mdf文件
DBCC SHRINKDATABASE(数据库名)
DBCC SHRINKFILE(1,0)
DBCC UPDATEUSAGE(0)
执行上述操作后,你会发现mdf的文件减少了,ldf的文件增大了,再用上面1的日志清理操作一次即可。
Sql FAQ的更多相关文章
- PL/SQL FAQ in installation "make sure you have the 32 bits Oracle client installed" and "Database character set(AL32UTF8) and Client character set (GBK) are different"
		requirement : connecting to remote oracle server . now I know the connectionURL :connectionUrl :jdb ... 
- discuz /faq.php SQL Injection Vul
		catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 . 通过获取管理员密码 . 对管理员密码进行破解.通过在cmd5.com ... 
- 转载:有关SQL server connection Keep Alive 的FAQ(3)
		转载:http://blogs.msdn.com/b/apgcdsd/archive/2012/06/07/sql-server-connection-keep-alive-faq-3.aspx 这个 ... 
- 转载:有关SQL server connection Keep Alive 的FAQ(2)
		转: http://blogs.msdn.com/b/apgcdsd/archive/2012/05/18/sql-server-connection-keep-alive-faq-2.aspx 在下 ... 
- Discuz 7.2 /faq.php SQL注入漏洞
		测试方法: 提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负! Discuz 7.2 /faq.php SQL注入漏洞 http://www.xxx.com/faq.php?a ... 
- discuz 7.2 faq.php sql注入了一些研究
		6.2号码(可能更早)上网本见exp,是一家discuz 7.2的sql注入漏洞 经过反复研究.最高在线人数exp它们存在于这些或那些问题,经过我自己的使用和变更摘要,使用的方法如以下: Discuz ... 
- SQL*Loader FAQ
		SQL*Loader FAQ: Contents [hide] 1 What is SQL*Loader and what is it used for? 2 How does one use th ... 
- 转载:有关SQL server connection KeepAlive 的FAQ
		转:http://blogs.msdn.com/b/apgcdsd/archive/2011/05/03/sql-server-connection-keepalive-faq.aspx 1.什么是S ... 
- 【应用】_有道词典客户端一个后缀名为sql的数据库。
		[缘起] 在清理电脑磁盘的时候,看一看各安装文件夹有占用了多大容量,发现有道词典居然达140MB了,于是进去看看. 发现个有趣的文件:XXX.sql. 首先我们看一看它的安装文件夹的结构: Dict ... 
随机推荐
- 【Bean】 这才是bean,一直没仔细看
			EJB是Enterprise Java Bean的缩写,一个Bean扮演着应用程序素材的角色.它包含有一个functional interface,一个life-cycle interface,以及一 ... 
- 学无止境,学习AJAX,跨域(三)
			学习AJAX其实有个很重要的应用,就是为了执行另外几个站点的ASP,返回结果. 真正用起来,发现2个问题,>_> 不许笑,一向做DELPHI,接触ASP不多的我,的确问题大堆. 第一个问题 ... 
- 使用.net 的Chart控件绘制曲线图
			在进行软件开发过程中我们可能会碰到需要生成图表的情况,在.NET中以前经常用GDI去绘制,虽然效果也不错,自从.NET 4.0开始,专门为绘制图表而生的Chart控件出现了,有了它,就可以轻松的绘制你 ... 
- SHELL学习笔记----IF条件判断,判断条件
			SHELL学习笔记----IF条件判断,判断条件 前言: 无论什么编程语言都离不开条件判断.SHELL也不例外. if list then do something here ... 
- BZOJ 3955 Surely You Congest 解题报告
			首先,我们可以求出源为 $1$ 号点的最短路图以及各个点到 $1$ 号点的最短路. 然后我们考虑那些距离不同的点,是一定不会发生拥堵现象的. 然后我们就只需要考虑那些距离相同的点,就相当于做一个最大流 ... 
- Java Web 前端高性能优化(一)
			Web 发展的速度让许多人叹为观止,层出不穷的组件.技术,只需要合理的组合.恰当的设置,就可以让 Web 程序性能不断飞跃.所有 Web 的思想都是通用的,它们也可以运用到 Java Web.这一系列 ... 
- 周末“干活”之 Mesos Meetup
			周末两天都是大雾霾天,作为运营也不能在家宅,告别了技术就得腿儿勤点儿. 非常感谢 Linker 的 Sam Chen 和 数人科技 的 CTO 共同组织的Mesos Meetup,OneAPM 最帅的 ... 
- Codeforces Round #238 (Div. 1)
			感觉这场题目有种似曾相识感觉,C题还没看,日后补上.一定要坚持做下去. A Unusual Product 题意: 给定一个n*n的01矩阵,3种操作, 1 i 将第i行翻转 2 i 将第i列翻转 3 ... 
- CodeChef   A
			问题是求出斐波那契数列的第n个,这里要用大数加法预处理,然后就可以了 代码: #include <iostream> #include <sstream> #include & ... 
- SQLite入门与分析(九)---VACUUM命令分析
			VACUUM命令是SQLite的一个扩展功能,模仿PostgreSQL中的相同命令而来.若调用VACUUM带一个表名或索引名, 则将整理该表或索引.在SQLite 1.0中,VACUUM命令调用 gd ... 
