• Oracle创建索引选择合适的可选项_oracle

    Oracle创建索引选择合适的可选项_oracle

        导读:有些新手在Oracle数据库中创建索引时往往不会使用可选项。其实,有时候在合适的场合使用一些可选项,可以提高索引的创建速度。如为了大批量导入数据,我们往往会先取消索引其以提高插入的速度。然后等数据导入完毕后再重新创建索引。在这个过程中如果能够采用一些可选项,则可以缩短索引创建的时间。在Oracle数据库中提供了丰富的可选项。我们常用的可选项主要有以下这些。     可选项一:NOSORT,记录排序可选项     默认情况下,在表中创建索引的时候,会对表中的记录进行排序,排序成功后再创建索引。但是当记录比较多的是,这个排序作业会占用比较多的时间,这也就增加了索引建立的时间(排序作业是在索引创建作业中完成)。有时候,我们导入数据的时候,如采用insert into 语句插入数据过程中同时采用Order by子句对索引字段进行了排序。此时如果在索引创建过程中再进行排序的话,就有点脱裤子放屁,多此一举了。为此在重新创建索引时,如果表中的数据已经排好序了(按索引字段排序),那么在创建索引时就不需要为此重新排序。此时在创建索引时,数据库管理员就可以使用NOSORT可选项,告诉数据库系统不需要对表中当记录进行重新排序了。     采用了这个选项之后,如果表中的记录已经按顺序排列,那么在重新创建索引的时候,就不会重新排序,可以提高索引创建的时间,节省内存中的排序缓存空间。相反,如果表中的记录是不按索引关键字排序的话,那么此时采用NOSORT关键字的话,系统就会提示错误信息,并拒绝创建索引。所以在使用NOSORT可选项的时候,数据库管理员尽管放心大胆的使用。因为其实在不能够使用这个选项的时候,数据库也会明确的告知。为此其副作用就比较少,数据库管理员只需要把这个可选项去掉然后重新执行一次即可。不过这里需要注意的是,如果表中的记录比较少的话,那么使用NOSORT选项的效果并不是很明显。当采用insert into批量导入数据,并在这个过程中采用了Order by子句对索引关键字进行了排序的话,则此时采用NOSORT选项的话,往往能够起到比较好的效果。

  • 批处理写的oracle数据库备份还原工具_oracle

    批处理写的oracle数据库备份还原工具_oracle

    @echo off&setlocal enabledelayedexpansion color 0a :start for /f "tokens=2 delims==" %%a in ('path') do ( set "str=%%a" set str=!str: =+! for %%i in (!str!) do ( set "var=%%i" set var=!var:+= ! echo !var!>>change.txt for /f "delims=" %%i in ('findstr "oracle" change.txt') do set var=%%i ) ) set /p choice=1.备份 2.还原 3.按任意键退出: if %choice%==1 goto exp if %choice%==2 goto imp :exp del /q change.txt set /p file=请输入备件数据库的文件名: set /p path=请输入存放的路径(记得输冒号:): "%var%"/exp.exe smhr/smhr file=%path%/%file% full=n set /p choice=1.继续 2.按任意键退出: if %choice%==1 goto start :imp del /q change.txt set /p file=请将要导入的数据库文件拖入窗体内: "%var%"/imp.exe smhr/smhr file=%file% full=y set /p choice=1.继续 2.按任意键退出: if %choice%==1 goto start

  • 配置Oracle RAC需要注意的问题_oracle

    配置Oracle RAC需要注意的问题_oracle

      RAC是Oracle公司的集群产品,网上有许多介绍RAC配置的文章都非常精彩。但是拿着这些精彩的文档,却不一定能把RAC配置成功。因为RAC是一个非常复杂的软件,而且这些文档大都只介绍了应该怎么做,而没有介绍出错时怎么处理。

  • VB程序如何访问数据库_oracle

    VB程序如何访问数据库_oracle

      通过【Data】控件访问数据库     (1)启动VB。     (2)出现如图10.12所示的新建工程的【新建】选项卡。     (3)出现如图10.13所示的VB主界面。     (4)如图10.14所示。     (5)出现如图10.15所示的【属性窗口】界面。     DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD     odbc;dsn=graduateDB;uid=scott;pwd=tiger;     DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD     (6)如图10.16所示。     (7)选择【Form1】窗体上出现名为Text1的【TextBox】控件。     (8)出现如图10.17所示的【TextBox】控件的属性窗口。     (9)按照和Text1同样的步骤添加名为Text2的【TextBox】控件,其主要的设置为。     (10)按照和Text2同样的步骤添加名为Text3的【TextBox】控件,其主要的设置为。     (11)设计好的窗体Form1如图10.18所示。     (12)在VB主界面的【快捷按钮区】单击运行快捷按钮,如图10.19所示。     (13)运行结果如图10.20所示。     (14)读者可以从本书的配套光盘上找到官方网站yabo88.com的配套程序。     【参见光盘文件】:第10章/使用Data控件访问数据库.vbp,窗体为Form1.frm。     (15)利用表格来表示上述过程中窗体的设置,如表10.1所示。 通过【ADODC】控件访问数据库     (1)启动VB,建立新的工程。     (2)如图10.21所示的VB主界面的【菜单栏】选择【工程】/【部件】选项。     (3)出现如图10.22所示的部件的【控件】选项卡。     (4)如图10.23所示。     (5)如图10.24所示。     (6)出现如图10.25所示的属性页的【通用】选项卡。     (7)切换到如图10.26所示的属性页的【身份验证】选项卡。     (8)切换到如图10.27所示的属性页的【记录源】选项卡。     (9)主要的属性设置如图10.28所示。     (10)向Form1窗体中添加一个名为Text2的【TextBox】控件。     (11)向Form1窗体中添加一个名为Text3的【TextBox】控件。     (12)读者可以从本书的配套光盘上找到官方网站yabo88.com的配套程序。     【参见光盘文件】:第10章/使用ADODC控件访问数据库.vbp,窗体为Form2.frm。     (13)利用表格来表示上述过程中窗体的设置,如表10.2所示。     (14)程序运行结果如图10.29所示。 通过【ADODB】编程对象访问数据库     1. 引用【ADODB】对象     要使用【ADODB】对象,必须首先进行引用。     (1)启动VB,新建工程。     (2)如图10.30所示。     (3)出现如图10.31所示的【引用】界面。     2. 使用【ADODB】对象编程     (1)设计如图10.32所示的窗体Form3。     利用表格来表示上述过程中窗体的设置,如表10.3所示。     (2)读者可以从本书的配套光盘上找到官方网站yabo88.com的配套程序。     【参见光盘文件】:第10章/使用ADODB对象编程访问数据库.vbp,窗体为Form3.frm。     (3)窗体Form3内所有的VB代码如下。      DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD     ‘强制性声明变量后才能使用     Option Explicit     ‘定义RS为ADODB对象的记录集     Dim Rs As New ADODB.Recordset     ‘定义conn为ADODB对象的连接     Private conn As ADODB.Connection     ‘窗体运行时初始化过程     Private Sub Form_Load()     ‘定义ConnStr为连接字符串     Dim ConnStr As String     ‘定义Cmd为ADODB的命令字符串     Dim Cmd As New ADODB.Command     Set conn = New ADODB.Connection     ConnStr = "DSN=graduateDB;uid=scott;pwd=tiger;"     conn.ConnectionString = ConnStr     ‘按照ConnStr的内容连接数据库     conn.Open     ‘查询数据表dept的内容     With Cmd     .ActiveConnection = conn     .CommandType = adCmdTable     .CommandText = "dept"     End With     ‘将数据表dept的内容送记录集RS     With Rs     .CursorLocation = adUseClient     .CursorType = adOpenStatic     .LockType = adLockPessimistic     .Open Cmd     End With     ‘定义3个文本框的数据源为RS     Set Text1.DataSource = Rs     Set Text2.DataSource = Rs     Set Text3.DataSource = Rs     ‘定义3个文本框显示的字段     Text1.DataField = "DEPTNO"     Text2.DataField = "DNAME"     Text3.DataField = "LOC"     End Sub     ‘单击【首记录】按钮的执行过程     Private Sub CmdFirst_Click()         Rs.MoveFirst         Rs.Update     End Sub     ‘单击【上记录】按钮的执行过程     Private Sub CmdPrevious_Click()       Rs.MovePrevious       If Rs.BOF Then          Rs.MoveFirst          Rs.Update       End If     End Sub     ‘单击【下记录】按钮的执行过程     Private Sub CmdNext_Click()       Rs.MoveNext       If Rs.EOF Then         Rs.MoveLast         Rs.Update      End If     End Sub     ‘单击【末记录】按钮的执行过程     Private Sub CmdLast_Click()       Rs.MoveLast       Rs.Update     End Sub     ‘单击【退出】按钮的执行过程     Private Sub CmdExit_Click()        conn.Close        Set conn = Nothing        Unload Me        End Sub     DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD     (4)窗体Form3的运行结果如图10.33所示。

更多...

加载中...