我继承了一个数据库,其中包含几个 1000-1500 行长的过程,复杂的嵌套子选择在某些地方深达 7 或 8 层。为了我自己的理智,我迫切需要重构它们,但是我怎么能以任何程度的信心开始这样做呢?
如果这是 .Net,我会编写单元测试 - 您是否推荐类似的方法?
在 Oracle 中寻找示例代码来做同样的事情。IE
删除表 T1 上的插入触发器,其工作是基于派生数据在 T2 中创建一行。这个 PL-SQL api 会是什么样子?
通过替换插入触发器,我会在现实世界的应用程序中丢失什么?
基于以下响应的更多说明:我们不希望远程客户端同时写入表 T1 和 T2。这是一个高吞吐量的数据和性能将受到影响。因此远程客户端将只写入 T1。从 T1 转移到 T2 应该在本地发生。
我想找到 oracle 10g 中表上的索引消耗的实际空间。我不打算包括 oracle 保留的空间以供将来使用。(不应该考虑oracle 的开销。)我想要使用的字节而不是分配的字节。
你能帮我继续前进吗?
另外,有没有办法找到表中长字段的实际大小。
PS:vsize() 和 dbms_lob.getlength() 不起作用。
这是我们数据库中排名前 5 的等待事件之一,尽管等待的次数不多,但我们将其视为潜在威胁,我们希望找到根本原因和解决方案。任何建议将不胜感激..
DB 版本:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64 位生产
AWR:
Top 5 Timed Foreground Events
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Avg
wait % DB
Event Waits Time(s) (ms) time Wait Class
------------------------------ ------------ ----------- ------ ------ ----------
DB CPU 3,887 95.0
db file sequential read 207,505 125 1 3.1 User I/O
direct path read 33,793 69 2 1.7 User I/O
cursor: pin S wait on X 5 43 8650 1.1 Concurrenc
db file scattered read 34,229 39 1 .9 …Run Code Online (Sandbox Code Playgroud) 如果我在 SQL Server(2005 或 2008)中使用带点的数据库名称,例如“MyApp.Sales”,这会导致任何问题吗?
有可能以某种方式做到这一点吗?
WITH T1 AS
(
SELECT 1 AS SEQ, 'NOTHING 1' AS SOME_TYPE FROM DUAL UNION ALL
SELECT 2 AS SEQ, 'NOTHING 2' AS SOME_TYPE FROM DUAL UNION ALL
SELECT 3 AS SEQ, 'SOMETHING 1' AS SOME_TYPE FROM DUAL UNION ALL
SELECT 4 AS SEQ, 'SOMETHING 2' AS SOME_TYPE FROM DUAL UNION ALL
SELECT 5 AS SEQ, 'SOMETHING 3' AS SOME_TYPE FROM DUAL UNION ALL
select 6 as seq, 'SOMETHING 4' AS SOME_TYPE from dual
)
, T2 AS
( …Run Code Online (Sandbox Code Playgroud) 我正在为类似于汽车销售数据库的会计/销售类型系统制作一个数据库,并希望为以下现实世界的操作进行一些交易:
销售员取消销售取消销售。
我在网上找到的例子太笼统了,比如“这是一笔交易”,我想要一些类似于我试图做的事情来理解它。
任何人都有一些很好的类似或相关的 sql 示例,我可以看看来设计这些?人们是否将交易用于销售数据库?或者,如果您之前做过这种 sql 事务,您能否概述如何进行这些事务?
到目前为止,我的(因为不是真正的问题而关闭)线程堆栈溢出:需要用于销售跟踪或财务数据库的示例 SQL 事务程序
最新更新,用户将从 ac# 应用程序发送新的输入/更改/和取消。申请资料:
展示的产品(这是具有 3 个子节点的父节点)
Sales(Products On Display 的子节点)
产品自定义功能(展示产品的子节点)
产品价格/当前状态(展示产品的子节点)
C# 应用程序将该数据打包为 XML 格式,然后执行一些 SQL 存储过程,其中事务将 xml 到表的转换保存在一起,转换为使用相同父/子节点结构设计的 SQL 表,使用的内容类似于此相关的答案所描述的内容关于堆栈溢出的问题:https : //stackoverflow.com/q/2756773/613799
我希望有一本关于设计多用户销售数据库的书,以及相关用户应用程序将使用的存储过程事务从头开始 app->xml->database。如果你知道一个好的,或者一本书的一章,请告诉我。
我正在重新开发一个现有的 Web 应用程序,其源代码和底层数据库设计都很弱。我正在尝试以一种未来扩展更容易的方式开发事物,即:
这是我未完成的架构的一些屏幕截图。您是否发现此设计可能出现任何问题/数据不一致?
橙色方块是主键,蓝色方块是外键。必须将其分成两幅图像。
用户/订阅/授权组:

用户组/订阅类型:

提前致谢!
嗨,我有一个包含 1000 万行和许多触发器的 MySQL 数据库。一个 php 客户端每秒连接到 mysql 和 INSERT 的数百行。
当客户端运行了几个小时,我终止了客户端,使用 mytop 我看到交易仍在发生,甚至是新的交易。它持续数小时才“赶上”。
现在作为 DBA,我如何查看这个“积压日志”?它被列为什么变量?用什么my.cnf参数来控制呢?为什么会发生这种情况?我以为
Oracle® 数据库备份和恢复基础知识 10g 第 2 版 (10.2) 说
归档重做日志是成功恢复媒体的关键。定期备份它们。
但是,我想知道为什么存档日志的备份如此重要。是否可以仅使用常规 RMAN 完整和增量数据文件备份进行时间点恢复。
oracle ×5
mysql ×2
sql-server ×2
backup ×1
case ×1
foreign-key ×1
mariadb ×1
oracle-10g ×1
oracle-11g ×1
plsql ×1
primary-key ×1
rman ×1
trigger ×1