Wind-Eagle

No pain,no gain!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2008年9月1日

摘要: 很多人在使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽略了不同的实现方法之间可能存在的性能差异,这种性能差异在大型的或是复杂的数据库环境中(如联机事务处理OLTP或决策支持系统DSS)中表现得尤为明显。 笔者在工作实践中发现,不良的SQL往往来自于不恰当的索引设计、不充份的连接条件和不可优化的where子句。 在对它们进行适当的优化后,其运行速度有了明显地提高! 下面我... 阅读全文

posted @ 2008-09-01 11:30 Andrew Yin 阅读(373) 评论(0) 推荐(0)

摘要: 若要删除表中的所有行,则 TRUNCATE TABLE 语句是一种快速、无日志记录的方法。TRUNCATE TABLE 与不含有 WHERE 子句的 DELETE 语句在功能上相同。但是,TRUNCATE TABLE 速度更快,并且使用更少的系统资源和事务日志资源。 与 DELETE 语句相比,TRUNCATE TABLE 具有以下优点: 所用的事务日志空间较少。 D... 阅读全文

posted @ 2008-09-01 11:27 Andrew Yin 阅读(9020) 评论(0) 推荐(0)

摘要: 附加数据库sp_attach_db 将数据库附加到服务器。 语法 sp_attach_db [ @dbname = ] 'dbname' , [ @filename1 = ] 'filename_n' [ ,...16 ] 参数 [@dbname =] 'dbname' 要附加到服务器的数据库的名称。该名称必须是唯一的。dbname 的数据类型为 sysname,默认值为 NULL。 [... 阅读全文

posted @ 2008-09-01 11:24 Andrew Yin 阅读(585) 评论(1) 推荐(0)

摘要: 有时候我们需要清空数据库中所有用户表的数据,如果一张表一张表的清空的话,遇到一个庞大的数据系统估计得崩溃了. 用游标加上用变量来引用表名就可以做到这一点. 用变量来引用表名对表操作可以用在存储过程中,根据需要动太选择引用某个表的数据或对其操作 估计用的不多,好玩而已:) //定义游标 DECLARE tables_cursor CURSOR FOR SELECT name ... 阅读全文

posted @ 2008-09-01 11:21 Andrew Yin 阅读(665) 评论(0) 推荐(0)

摘要: 为什么要进行分区? 什么是分区?为什么要使用分区?简单的回答是:为了改善大型表以及具有各种访问模式的表的可伸缩性和可管理性。通常,创建表是为了存储某种实体(例 如客户或销售)的信息,并且每个表只具有描述该实体的属性。一个表对应一个实体是最容易设计和理解的,因此不需要优化这种表的性能、可伸缩性和可管理性, 尤其是在表变大的情况下。 大型表是由什么构成的呢?超大型数据库 (VLDB) 的大小以数百 ... 阅读全文

posted @ 2008-09-01 11:18 Andrew Yin 阅读(466) 评论(0) 推荐(0)