by shinichi_wtn
2016-08-08 22:20
本文简单介绍了SQL Server企业版才拥有的强大的表分区(Table Partition)功能,并用一个实际的例子完成了表分区涉及的基本操作。表分区拥有许多优势,其对用户是透明的,但是在底层应用了数据分区,根据分区定义对表的数据进行了划分(比如把不同的分区放到不同的FileGroup),从而能够实现快速地数据装载/移动/删除。设想一下我们有一个数据仓库的应用,每天会把新一天的数据加载到表FactTable中,这个数据量往往很大。如果不应用表分区,那我们需要在同一个表FactTable里进行数据的插入操作,而插入操作往往会锁定整个表,这时往往会阻碍其他用户的查询,以及查询性能。
[More]
by shinichi_wtn
2011-02-08 09:54
BlogEngine.NET(中文的本地化版本叫博易)是一款非常棒的开源博客系统,本文介绍了在Goddady上运行BlogEngine.NET的方法。Godaddy的windows主机口碑还不错,尤其是它全自动化的管理,非常方便。许多用户都选择了Deluxe方案,有150G的空间,支持全系列ASP.NET版本,还提供了2个200M的SQL Server数据库,性价比很高。购买Godaddy可以使用支付宝支付,也可以在淘宝网上代购。
[More]
by shinichi_wtn
2010-09-20 20:15
由于数据库日志增长被设置为“无限制”,所以时间一长日志文件必然会很大,一个400G的数据库居然有600G的LOG文件,严重占用了磁盘空间。由于主要是做OLAP,所以数据库本身不会有大变动,所以日志也就没有多少作用了,因此想办法把数据库日志文件收缩到很小或者删除。
网上搜索相关解决方案后,得到的答案丰富多彩,但是真正管用的方案并不多,这里分享一个csdn上找到的方法。这个方法讲述了SQL Server 2005和SQL Server 2008在收缩数据库日志的不同之处,颇有帮助。同时,该方法的效率很高,收缩600G的日志到10M只花了不到30秒。
下面一张图是收缩后的...
[More]
by shinichi_wtn
2010-01-13 20:22
今天下载了微软才发布的MySQL to SQL Server迁移工具SQL Server Migration Assistant 2008 for MySql,由于甲骨文收购SUN一拖再拖,MySql的命运也不可知,于是微软发布该软件,帮助MySql用户把数据迁移到SQL Server里面。
其实MySql是一款很棒的数据库软件,现在许多企业级的应用都使用了它,但是MySql在安全性和超大规模数据库应用(数据仓库、数据挖掘等)中,没有收费的SQL Server和Oracle好,但是,由于其轻便、开源、免费,深受用户喜爱,大家也不希望MySql被甲骨文所遗弃,现在我做的一些项目就是基于MySq...
[More]
by shinichi_wtn
2009-12-18 10:43
在学习记录一中,讨论了SQL Server与MySQL各自建立存储过程的方法和过程,并简单做了一下对比。在实际应用中,查询往往是很复杂的,不可能用一简单的一行SQL语言就能满足我们的需求,这个时候,就需要使用SQL编程。
实现SQL编程有两种方式,第一种就是用高级语言进行反复调用,因为我们熟悉一门或多门高级程序语言,比如C,C++,C#,PHP,Java等等,这些都是能调用数据库操作的。比如在C#这样的面向对象编程语言里,万物皆对象,在创建一个数据库调用程序时,首先需要新建一个连接,同时建立一条SQL操作指令,然后打开连接,执行该指令,最后返回结果,关闭连接。
首先以C#调用SQL Ser...
[More]
by shinichi_wtn
2009-12-15 13:39
SQL语句执行的时候要先编译,然后执行。存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。
SQL Server的存储过程在设计BNU校园百科的时候就有使用,因为存储过程不仅能提高SQL语言的执行效率,同时参数化的调用比每次都写一条SQL语句来得方便。
【SQL Server存储过程的建立】
在企业管理器新建一个StoreProcedure会自动生成相应导航代码,方便用户编写函...
[More]
by shinichi_wtn
2009-12-12 15:10
在学习笔记一里已经掌握了基本的contains语法和freetext语法的用法,但是面对一些复杂的操作,基本的包含语法是不够用的,如果我们想要查询含有“世界”或“末日”的所有字符串集合,那么无论是contains([column],'世界末日')或者freetext([column],'世界末日')都不能很好的工作,当然contains本身是可以含有条件的,因此有两个解决方案。
多条件查询
第一个就是传统的where多条件查询,加上两个contains语句,然后用or连接
select [Column] as [result] from S...
[More]
by shinichi_wtn
2009-12-11 11:29
引言
这段时间为了提高海量字符串数据的查询效率,我对字段添加了全文索引。首先全文索引相对于传统的索引是有区别的,这是因为传统的索引主要是以首字母开始建立的索引,处理like 'keword%'这样的查询会很高效,但是如果查询时不限定首字母,而只是包含某个词,比如like '%keyword%'这样的查询,实际操作中无法使用传统索引加速查询效率,而只能一项一项比较了。
而全文索引正是提供了“包含”式查询机制,查询一个长字符串中是否包含给定关键词的功能,这无论是在搜索引擎或是网站的搜索平台都是很有用处的。
首先,推荐一本学习SQL Server全文索引的书籍,这本书详...
[More]
by shinichi_wtn
2009-11-14 16:34
今天一家虚拟主机运营商说什么要被某某公司接管,网页服务器和数据库服务器都会有相应变化,要我们用户做好备份,无语啊......
网页数据好办,直接FTP上拷贝即可,但是数据库就不好办了,需要将数据导进我自己的库里,当然了,SQL Server Management Studio已经为我们做好了这样的准备,在需要导入或导出的数据库上点右键,找到"task"(任务),然后就有"import data"(导入)或"export data"(导出),比如我们选择"export data"(导出数据),
这时会弹出欢迎界面,直接点下一步,进入设置窗口。导出和导入操作都需要一个数据起源(sourse...
[More]
by shinichi_wtn
2009-07-27 21:17
ACCESS提供了图形化的界面,能够很方便把诸如TXT,XML,CVS,XLS等常用列表类数据直接导入现有表或新表中,而SQL Server却找不到相应的功能按钮,于是在网上找了找,发现要用T-SQL语句。
其中语法很简单,主要就是“bulk insert”命令,相应的格式为
bulk insert ××× from 'F:\×××.txt'
WITH
(
DATAFILETYPE = 'char',
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '\...
[More]