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 ...
随机推荐
- 一步步学习ASP.NET MVC3 (14)——Route路由
请注明转载地址:http://www.cnblogs.com/arhat 由于今天是星期六,所以多写几篇,感觉前几天的忙碌没有及时发布文章,趁着周末老魏尽力的多写几篇文章.因为本系列基本上快结束了,所 ...
- 敏捷开发的特点(转自MBAlib)
敏捷开发的特点 敏捷方法主要有两个特点,这也是其区别于其他方法,尤其是重型方法的最主要特征: (1)敏捷开发方法是“适应性”(Adaptive)而非“预设性” (Predictive). 这里说的预设 ...
- Linux系统架设支持自助开通Shado wsocks及VPN前端的教程
程序实现:通过网页端注册,自助开通VPN帐号及Shadowsocks帐号.并可实现流量统计 系统要求 Debian 6 x64 纯净系统 by: Lop ①配置环境 apt-get updateapt ...
- 日均百万 PV 的站点如何做性能监测?试试「3M口罩」!
对很多开发者而言,如果网站的日流量达到百万级别,峰值 PV 也突破了 3 万,这样的站点在线下测试的时候总是让人心力交瘁.... 生产环境下的性能监测问题更是尤其让人头疼! 开发同学在想,运维人员也在 ...
- MySQL JDBC的setFetchSize
MySQL JDBC的setFetchSize http://uuhorse.iteye.com/blog/2163582 http://blog.sina.com.cn/s/blog_6706203 ...
- strspn和strcspn妙用
http://blog.csdn.net/aidenliu/article/details/5460201
- QT 的信号与槽机制介绍
https://www.ibm.com/developerworks/cn/linux/guitoolkit/qt/signal-slot/ http://www.kuqin.com/qtdocume ...
- altium6.x中自动删除重复走线的位置
在protel 2004 DXP中,“自动删除走线”的位置就在"PCB Editor"的默认页面,非常好找. 但是升级到了altium 6.7,6.9之后,很多人就找不到这个了. ...
- Git push错误non-fast-forward后的冲突解决
当要push代码到git时,出现提示: error:failed to push some refs to ... Dealing with “non-fast-forward” errorsFrom ...
- Spring 3.x企业应用开发实战(14)----事务
Spring虽然提供了灵活方便的事务管理功能,但这些功能都是基于底层数据库本身的事务处理机制工作的.要深入了解Spring的事务管理和配置,有必要先对数据库事务的基础知识进行学习. 何为数据库事务 “ ...