select from table1 where xm like '%张%' and substr(bm, 1, 9)='201301111'
试试看这样 因为 oracle是从右开始匹配的 而 = 的速度 要快于 like(模糊查询) 的速度
动态性能视图主要是Oracle数据的库自动收集并记录当前例程的活动信息 当数据库管理员启动某个例程时 数据库会自动建立动态性能视图;当停止某个例程时 数据库又会自动删除这些动态性能视图 这表面看起来跟数据字典有异曲同工之妙 但是 两者信息的来源还是有很大差异的 数据字典的信息是从数据文件中取得;而动态性能视图的信息则是从SGA内存以及控制文件中取得 所以 两者所反映的信息还是有很大差异的 数据库管理员利用这些动态性能视图 可以了解数据库运行的一些基本信息 为我们进行数据库维护以及数据库性能优化提供一些数据上的支持 一般情况下 我们可以通过动态性能数据掌握两类重要的数据库运行信息 一是了解数据库运行相关的性能数据 如内存的使用量 磁盘排序发生的机率等等 二是取得与磁盘和内存结构相关的其他信息 这些信息将是我们进行数据库维护与数据库性能调整的主要参考依据
为了便于数据库管理员查询这些动态视图 Oracle数据库中的动态性能视图跟其他数据库对象有着不同的命名规则 通常情况下 动态性能视图都是以V_$前缀开头的 并且Oracle数据库维每个动态性能视图提供了相应的同义词 下面笔者就介绍一些动态性能视图查询中的一些技巧以 帮助广大数据库管理员提高对Oracle数据库动态性能视图的认识
一 知道可用的动态性能视图
因为动态性能视图是随着例程的启动而启动 随着例程的消亡而消亡 其是动态变化的 所以 对于一些动态性能视图不怎么了解的数据库管理员来说 第一步就是需要了解 现在数据库中到底有哪些动态性能视图可以用 Oracle数据库中有一张V_$fixed_table动态性能视图 这张视图中纪录著当前所有可用的动态性能视图 当数据库管理员对动态性能不怎么了解的话 可以先通过这张视图了解动态性能视图的概况 并了解哪些动态性能视图当前是可用的 数据库管理员可以通过下面的命令查询当前可用的所有动态性能视图
在通常情况下 数据库不同的状态其动态性能视图还是有比较大的差异 数据库管理员掌握这些差异 对于他们借助这些视图来管理数据库可能会有更大的帮助
一是数据库处于 NOMOUNT 状态 数据库启动例程时 Oracle数据库会打开参数文件 分配SGA内存并启动后台进程 此时 其实数据库还没有挂栽 此时 动态性呢视图收集的信息来源只有是SGA 而不会从控制文件中收集相关的信息 所以 动态性能视图的数量要少得多
二是当数据库处于MOUNT状态时 数据库会根据初始化参数打开所有的控制文件 所以 当例程处于Mount状态时 动态性能视图其收集到的信息就要第一个状态多的多 因为此时 动态性能视图还会去收集控制文件的相关信息 不过 此时动态性能视图所收集到的资料还不是最全的
三是当用户打开数据库时 Oracle系统会根据控制文件所记载的信息去打开所有的数据库文件以及重做日志 此时 数据库管理员除了可以从SGA和控制文件中获取信息的动态性能视图外 还可能访问与Oracle数据库性能相关的动态性能视图 如会话等待时间等视图 另外需要注意一点 就是只有在这个状态时 我们才能够访问数据库的数据字典视图
lishixinzhi/Article/program/Oracle/201311/17253
估计你oracle装在本地了吧,你机器是多大内存啊,oracle服务端是很耗内存的,如果你自己搞小项目建议用mysql吧,如果搞商用项目建议搞个大点的机器用作oracle服务端,我们开发的时候 服务端都装在单板上的,32G内存。
以上就是关于c# 连接远程oracle数据库 查询数据速度问题全部的内容,包括:c# 连接远程oracle数据库 查询数据速度问题、动态性能视图,Oracle数据库维护的好帮手(一)、java项目连接oracle数据库,连的人多 *** 作数据库会越来越慢,怎么解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)