数据库优化经验技巧及注意事项
数据库优化方面的经验?用PreparedStatement 一般来说比Statement性能高
:一个sql 发给服务器去执行,涉及步骤:语法检查、语义分析,编译,缓存“inert into user values(1,1,1)”-à二进制“inert into user values(2,2,2)”-à二进制“inert into user values(?,?,?)”-à二进制有外键约束会影响插入和删除性能,如果程序能够保证数据的完整性,那在设计数据库时就去掉外键。(比喻:就好比免检产品,就是为了提高效率,充分相信产品的制造商)(对于hibernate来说,就应该有一个变化:empleyee->Deptment对象,现在设计时就成了employeeàdeptid)看mysql帮助文档子查询章节的最后部分,例如,根据扫描的原理,下面的子查询语句要比第二条关联查询的效率高:1. select e.name,e.salary where e.managerid=(select id from employee where name='zxx');2. select e.name,e.salary,m.name,m.salary from employees e,employees m wheree.managerid = m.id and m.name='zxx';表中允许适当冗余,譬如,主题帖的回复数量和最后回复时间等将姓名和密码单独从用户表中独立出来。这可以是非常好的一对一的案例哟!sql语句全部大写,特别是列名和表名都大写。特别是sql命令的缓存功能,更加需要统一大小写,sql语句à发给oracle服务器à语法检查和编译成为内部指令à缓存和执行指令。根据缓存的特点,不要拼凑条件,而是用?和PreparedStatment还有索引对查询性能的改进也是值得关注的。备注:下面是关于性能的讨论举例4航班 3个城市m*nselect * from flight,city where flight.startcityid=city.cityid and city.name='beijing';m + nselect * from flight where startcityid = (select cityid from city where cityname='beijing');select flight.id,'beijing',flight.flightTime from flight where startcityid = (select cityid from city where cityname='beijing')如何完全卸载删除oracle数据库
很多朋友只用了oracle的删除,但很多情况下,他会发现重新安装时,点了下一步安装界面就消失了,
往往无奈下只好重装系统,其实只是你数据库没删干净,删干净就不会出现这种情况了。
实现方法:
1、开始->设置->控制面板->管理工具->服务
停止所有Oracle服务。
2、开始->程序->Oracle - OraHome81->Oracle Installation Products->
Universal Installer
卸装所有Oracle产品,但Universal Installer本身不能被删除
5、运行regedit,选择HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE,按del键删除这个入口。
6、运行regedit,选择HKEY_LOCAL_MACHINE/SYSTEM/Current/ControlSet/Services,滚动
这个列表,删除所有Oracle入口。
7、运行refedit,
HKEY_LOCAL_MACHINE/SYSTEM/Current/ControlSet/Services/Eventlog/Application,
删除所有Oracle入口。
8、开始->设置->控制面板->系统->高级->环境变量
删除环境变量CLASSPATH和PATH中有关Oracle的设定
9、从桌面上、STARTUP(启动)组、程序菜单中,删除所有有关Oracle的组和图标
10、删除Program FilesOracle目录
11、重新启动计算机,重起后才能完全删除Oracle所在目录
12、删除与Oracle有关的文件,选择Oracle所在的缺省目录C:Oracle,删除这个入
口目录及所有子目录,并从Windows 2000目录(一般为C:WINNT)下删除以下文
件ORACLE.INI、oradim73.INI、oradim80.INI、oraodbc.ini等等。
13、WIN.INI文件中若有[ORACLE]的标记段,删除该段
14、如有必要,删除所有Oracle相关的ODBC的DSN
15、到事件查看器中,删除Oracle相关的日志
说明:
如果有个别DLL文件无法删除的情况,则不用理会,重新启动,开始新的安装。安装时,选择一个新的目录,则,安装完毕并重新启动后,老的目录及文件就可以删除掉了
使用ADO编程如何判断一个数据库是否存在
(1)、可打开master数据库中一个叫做SCHEMATA的视图,其内容列出了该服务器上所有的数据库名称。
(2)、更简便的方法是使用USE语句,成功了就存在;不成功,就不存在。例如:
try{
m_pConnect->Execute(_bstr_t("USEINSURANCE_2002"),NULL,
adCmdText│adExecuteNoRecords);
catch(_com_error&e)
blSuccess=FALSE;
CStringstr="数据库INSURANCE_2002不存在! ";str+=e.Description();::MessageBox(NULL,str,"警告",MB_OK│MB_ICONWARNING);
收缩SQL数据库
一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大
1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器-->双击打开数据库目录-->选择
你的数据库名称(如论坛数据库Forum)-->然后点击右键选择属性-->选择选项-->在故障还原的模式中选择“简单”,然后按确定保存
2、在当前数据库上点右键,看所有任务中的收缩数据库,一般里面的默认设置不用调整,直接点确定
3、收缩数据库完成后,建议将您的数据库属性重新设置为标准模式,操作方法同第一点,因为日志在一些异常情况下往往是恢复数据库的重要依据
SQL Server还原数据库
1、打开SQL企业管理器,在控制台根目录中依次点开MicrosoftSQLServer
2、SQLServer组-->双击打开你的服务器-->点图标栏的新建数据库图标,新建数据库的名字自行取
3、点击新建好的数据库名称(如论坛数据库Forum)-->然后点上面菜单中的工具-->选择恢复数据库
4、在弹出来的窗口中的还原选项中选择从设备-->点选择设备-->点添加-->然后选择你的备份文件名-->添加后点确定返回,这时候设备栏应该出现您刚才选择的数据库备份文件名
,备份号默认为1(如果您对同一个文件做过多次备份,可以点击备份号旁边的查看内容,在复选框中选择最新的一次备份后点确定)-->然后点击上方常规旁边的选项按钮
5、在出现的窗口中选择在现有数据库上强制还原,以及在恢复完成状态中选择使数据库可以继续运行但无法还原其它事务日志的选项。在窗口的中间部位的将数据库文件还原为这
里要按照你SQL的安装进行设置(也可以指定自己的目录),逻辑文件名不需要改动,移至物理文件名要根据你所恢复的机器情况做改动,如您的SQL数据库装在D:Program
FilesMicrosoftSQLServerMSSQLData,那么就按照您恢复机器的目录进行相关改动改动,并且最后的文件名最好改成您当前的数据库名(如原来是bbs_data.mdf,现在的数据
库是forum,就改成forum_data.mdf),日志和数据文件都要按照这样的方式做相关的改动(日志的文件名是*_log.ldf结尾的),这里的恢复目录您可以自由设置,前提是该目录
必须存在(如您可以指定d:sqldatabs_data.mdf或者d:sqldatabs_log.ldf),否则恢复将报错
6、修改完成后,点击下面的确定进行恢复,这时会出现一个进度条,提示恢复的进度,恢复完成后系统会自动提示成功,如中间提示报错,请记录下相关的错误内容并询问对SQL
操作比较熟悉的人员,一般的错误无非是目录错误或者文件名重复或者文件名错误或者空间不够或者数据库正在使用中的错误,数据库正在使用的错误您可以尝试关闭所有关于SQL
窗口然后重新打开进行恢复操作,如果还提示正在使用的错误可以将SQL服务停止然后重起看看,至于上述其它的错误一般都能按照错误内容做相应改动后即可恢复
Sql Server备份数据库
1、打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server
2、SQL Server组-->双击打开你的服务器-->双击打开数据库目录
3、选择你的数据库名称(如论坛数据库Forum)-->然后点上面菜单中的工具-->选择备份数据库
4、备份选项选择完全备份,目的中的备份到如果原来有路径和名称则选中名称点删除,然后点添加,如果原来没有路径和名称则直接选择添加,接着指定路径和文件名,指定后点
确定返回备份窗口,接着点确定进行备份
[数据库优化经验技巧及注意事项]