在进行SQLServer培训的时候,人们总是会有这样的一个疑问:“当事务日志增长到一定程度的时候,我该怎么办?”我一般会用另一个问题来回答,那就是:“你进行备份了吗?”对于这一问题,人们的回答往往是:“当然,我们每天晚上都会备份整个数据库。”但是你对日志进行备份了吗?在这一点上,学员们认为如果能解决这一难题,这个培训就是值得的。进行事务日志备份的时候,不仅仅是只将最新提交的事务备份,与此同时还会截断相应的日志文件。截断就意味着备份过的事务将会从日志文件中移
系统 2019-08-12 01:32:42 2187
原文:SQL点滴35—SQL语句中的exists比如在Northwind数据库中有一个查询为SELECTc.CustomerId,CompanyNameFROMCustomerscWHEREEXISTS(SELECTOrderIDFROMOrdersoWHEREo.CustomerID=c.CustomerID)这里面的EXISTS是如何运作呢?子查询返回的是OrderId字段,可是外面的查询要找的是CustomerID和CompanyName字段,这两个
系统 2019-08-12 01:32:38 2187
CREATEPROCEDUREProductOrderSplit@SELL_IDSNint,@SplitNumberintASbegintrandeclare@SELL_IDvarchar(100)declare@OrderNoteSNintselect@SELL_ID=SELL_ID,@OrderNoteSN=OrderNoteSNfromC_SENDPRODUCTDETAILwhereSELL_IDSN=@SELL_IDSNif(@@error<>0)
系统 2019-08-12 01:55:37 2186
一、模板做一个网站,有时候很重要的一点就是整个网站的风格要统一。一些网页的版式都是相同的。其中标题和下面的一排按钮,还有表格的编排方式,还有里面已经制作好的9磅CSS样式,这些风格都是固定的。新作一张网页上面这些都不变,而只要替换文字和一些图片就行了。按照我们的习惯方法是重新做一张,经过漫长和痛苦的等待,终于做成了和前面一模一样的网页。这时发现还有N张网页也要同样制作。这时候,我们就需要用到模板,他可以将网页中不变的元素固定下来,然后用来应用到其他的网页上
系统 2019-08-12 01:53:49 2186
前面的2篇关于简单介绍了仿效Java在SQL以?代替参数位置的实现方案,在编程开发中,我们都会将一些奇怪的简单的、复杂的想法,用我们本身的编程理念去实现,从粗糙到优美的每一步,都能让我们感到骄傲,虽然在别人眼中可能是一个愚蠢的、甚至是脑残的想法,但是作为一个程序员,我始终认为:“编程不仅既是一门技术,更是一门艺术;就算是最枯燥乏味的编码,我们也要以一种激情澎湃的编码行为去完成它。”,每一次尝试、实践都能让我们获益良多,尽管不是每一次尝试都是那么正确,但是起
系统 2019-08-12 01:53:20 2186
今天是2013-09-09,时别n久的一篇经典文章,有被我在google发现了,再次转载一下。学习一下。一、LRU链:任何缓存的大小都是有限制的,并且总不如被缓存的数据多。就像Buffercache用来缓存数据文件,数据文件的大小远远超过Buffercache。因此,缓存总有被占满的时候。当缓存中已经没有空闲内存块时,如果新的数据要求进入缓存,就只有从缓存中原来的数据中选出一个牺牲者,用新进入缓存的数据覆盖这个牺牲者。这一点我们在共享池中曾提及过,这个牺牲
系统 2019-08-12 01:53:08 2186
Synbak2.0是一个全新的版本号,实现了'backup_shedule'功能用于自动化和简化每日、每周、每月和每年的自动备份;增加-Epr=100/noprompt参数到内部的LDAP导出命令;支持lzo和xz压缩;重写了erase功能更加智能;修复了某些变量名。Synbak是一个备份工具,提供多种备份方法,提供强大的报表系统和简单的配置文件接口,可通过以下形式进行备份:rsync(viacryptedssh,rsync,SMB,andCIFSprot
系统 2019-08-12 01:52:07 2186
@@identity表示最近一次向具有identity属性(即自增列)的表插入数据时对应的自增列的值,是系统定义的全局变量。一般系统定义的全局变量都以@@开头,用户自定义的变量以@开头。比如有个表A,它的自增列是id。当向A表插入一行数据后,如果插入数据后自增列的值自动增加到101,则通过select@@identity得到的值就是101。使用@@identity的前提是使用了insert操作,执行select@@identity时连接没有关闭,否则得到的
系统 2019-08-12 01:32:51 2186
1.拷贝构造//拷贝构造的规则,有两种方式实现初始化。//1、一个是通过在后面:a(x),b(y)的方式实现初始化。//2、另外一种初始化的方式是直接在构造方法里面实现初始化。案比例如以下:#include//假设声明已经定义。边不会生成classclassA{private:inta;intb;public://拷贝构造的规则,有两种方式实现初始化//1、一个是通过在后面:a(x),b(y)的方式实现初始化//2、另外一种初始化的
系统 2019-08-12 01:55:39 2185
CREATEPROCEDUREdbo.UspOutputData@tablenamesysnameASdeclare@columnvarchar(1000)declare@columndatavarchar(1000)declare@sqlvarchar(4000)declare@xtypetinyintdeclare@namesysnamedeclare@objectIdintdeclare@objectnamesysnamedeclare@identi
系统 2019-08-12 01:55:11 2185
Oracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus命令与sql*plus语句。我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sqlbuffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sqlbuffer中的sql语句进行修改,然后再次执行,sql*plus一般都与数据库打交道。除了sql*plus语句,在sql*
系统 2019-08-12 01:54:49 2185
in和exists区别in是把外表和内表作hashjoin,而exists是对外表作loop,每次loop再对内表进行查询。一直以来认为exists比in效率高的说法是不准确的。如果查询的两个表大小相当,那么用in和exists差别不大。如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in:例如:表A(小表),表B(大表)1:select*fromAwhereccin(selectccfromB)效率低,用到了A表上cc列的索
系统 2019-08-12 01:54:43 2185
SQLLEFTJOIN关键字LEFTJOIN关键字会从左表(table_name1)那里返回所有的行,即使在右表(table_name2)中没有匹配的行。LEFTJOIN关键字语法SELECTcolumn_name(s)FROMtable_name1LEFTJOINtable_name2ONtable_name1.column_name=table_name2.column_name注释:在某些数据库中,LEFTJOIN称为LEFTOUTERJOIN。原始
系统 2019-08-12 01:54:37 2185
一位哥们(之前的同事,某世界500强,你懂的)问我,老外要他优化SQL,一共4个,全是树形查询的。前面3个跑半个多小时,后面一个跑1个小时,总共要跑2个半小时。问有啥方法可以优化。因为SQL类型基本上一样,这里指贴一个SQL其实这些SQL都是insertinto...select....要想INSERT快,就必须SELECT块SQL语句如下selectrownum,adn,zdn,'cable'from(selectdistinctconnect_by_r
系统 2019-08-12 01:54:18 2185
今天写一个功能,要求站点页面根据不同的城市显示当前城市的内容。这个功能主要是分析用户的Ip,根据Ip获取用户所在的城市,然后选择用户所在城市的内容。由于数据库架构是不同城市的内容分别放在不同的表中,如tb_1_Info,tb_2_Info,其中的数字就是城市对应的编号。在完成这个功能的过程中,我对数据库访问的用的是存储过程,但以前没有碰到在存储过程中动态的选择数据表名称。经过一段时间摸索,还是实现了这个功能,特记录一下:存储过程代码如下:1ALTERPRO
系统 2019-08-12 01:53:14 2185