只想知道 发表于 2015-1-16 22:18:48

MSSQL网页编程之紧缩数据库

Memory所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在Mysql重新启动时丢失数据库在利用一段工夫后,经常会呈现因数据删除而形成数据库中余暇空间太多的情形,这时候就必要削减分派给数据库文件和事件日记文件的磁盘空间,以避免华侈磁盘空间。当数据库中没无数据时,能够修正数据库文件属性间接改动其占用空间,但当数据库中无数据时,如许做会损坏数据库中的数据,因而必要利用紧缩的体例来缩减数据库空间。能够在数据库属性选项当选择“Autoshrink”选项,让体系主动紧缩数据库,也能够用野生的办法来紧缩。野生紧缩数据库有以下两种体例:

1、用EnterpriseManager紧缩数据库
在EnterpriseManager中在所要紧缩的数据库上单击右键,从快速菜单中的“一切义务(AllTasks)”当选择“ShrinkDatabase(紧缩数据库)”选项,就会呈现如-10所示的对话框。能够在-10所示的对话框当选择数据库的紧缩体例,也能够选择利用紧缩企图或紧缩单个文件。

单击-10中的“Files”按钮,会呈现如-11所示的紧缩数据库文件对话框,能够针对每一个数据库文件举行分歧的紧缩设置。


单击-10中的“Change”按钮,会呈现如-12所示的紧缩企图编纂对话框,能够指定紧缩企图的实行体例。单击-12中的“Change”按钮,会呈现如-13所示的轮回事情企图编纂对话框,能够编纂企图实行的周期或工夫点。设置完成后单击“OK”按钮就入手下手紧缩数据库,在紧缩停止后会显现一个紧缩情形信息框。



2、用Transact-SQL命令紧缩数据库
可使用DBCCSHRINKDATABASE和DBCCSHRINKFILE命令来紧缩数据库。个中DBCCSHRINKDATABASE命令对数据库举行紧缩,DBCCSHRINKFILE命令对数据库中指定的文件举行紧缩。

(1)DBCCSHRINKDATABASE
DBCCSHRINKDATABASE命令语法以下:
DBCCSHRINKDATABASE(database_name[,target_percent]
[,{NOTRUNCATE|TRUNCATEONLY}])
各参数申明以下:<P>

[*]target_percent指定将数据库紧缩后,未利用的空间占数据库巨细的百分之几。假如指定的百分比过年夜,凌驾了紧缩前未利用空间所占的比例,则数据库不会被紧缩。而且紧缩后的数据库不克不及比数据库初始设定的容量小。
[*]NOTRUECATE
将数据库缩减后残剩的空间保存在数据库,中不返还给操纵体系。假如不选择此选项,则残剩的空间返还给操纵体系。
[*]TRUNCATEONLY
将数据库缩减后残剩的空间返还给操纵体系。利用此命令时SQLServer将文件缩减到最初一个文件分派,地区但不挪动任何数据文件。选择此项后,target_percent选项就有效了。
例6-14:紧缩数据库mytest的未利用空间为数据库巨细的20%。
dbccshrinkdatabase(mytest,20)
运转了局以下:
DBCCexecutioncompleted.IfDBCCprintederrormessages,contactyoursystemadministrator.
(2)DBCCSHRINKFILE
DBCCSHRINKFILE命令紧缩以后数据库中的文件。其语法以下:
DBCCSHRINKFILE({file_name|file_id}
{[,target_size]|
[,{EMPTYFILE|NOTRUNCATE|TRUNCATEONLY}]})
各参数申明以下:
<P>

[*]file_id
指定要紧缩的文件的判别号(Identificationnumber,即ID)。文件的ID号能够经由过程FILE_ID()函数或如本章后面所报告的Sp_helpdb体系存储历程来失掉。
[*]target_size
指定文件紧缩后的巨细。以MB为单元。假如不指定此选项,SQLServer就会尽最年夜大概地缩减文件。
[*]EMPTYFILE
指明此文件不再利用,将挪动一切在此文件中的数据到统一文件组中的别的文件中往。实行带此参数的命令后,此文件就能够用ALTERDATABASE命令来删除。
其他参数NOTRUNCATE和TRUNCATEONLY与DBCCSHRINKDATABASE命令中的寄义不异。
例6-15:紧缩数据库mydb中的数据库文件mydb_data2的巨细到1MB。usemydbdbccshrinkfile(mydb_data2,1)


在JOIN操作中(需要从多个数据表提取数据时),MySQL只有在主键和外键的数据类型相同时才能使用索引。

admin 发表于 2015-1-19 08:04:05

having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。

海妖 发表于 2015-1-26 10:53:37

索引视图2k就有。但是2005对其效率作了一些改进但是schema.viewname的作用域真是太限制了它的应用面。还有一大堆的环境参数和种种限制都让人对它有点却步。

灵魂腐蚀 发表于 2015-2-4 14:53:06

呵呵,这就是偶想说的

乐观 发表于 2015-2-10 02:17:12

至于淘汰的问题,只能说在你的项目周期之内,微软应该都不会倒闭。

飘灵儿 发表于 2015-2-28 15:27:12

如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。

第二个灵魂 发表于 2015-3-10 01:25:42

代替了原来VB式的错误判断。比Oracle高级不少。

小魔女 发表于 2015-3-23 19:04:05

连做梦都在想页面结构是怎么样的,绝非虚言
页: [1]
查看完整版本: MSSQL网页编程之紧缩数据库