问题列表 - 第29页

你如何重构一个丑陋的过程/查询?

我继承了一个数据库,其中包含几个 1000-1500 行长的过程,复杂的嵌套子选择在某些地方深达 7 或 8 层。为了我自己的理智,我迫切需要重构它们,但是我怎么能以任何程度的信心开始这样做呢?

如果这是 .Net,我会编写单元测试 - 您是否推荐类似的方法?

stored-procedures query-refactor

6
推荐指数
1
解决办法
766
查看次数

INSERT 触发器的替代方案

在 Oracle 中寻找示例代码来做同样的事情。IE

删除表 T1 上的插入触发器,其工作是基于派生数据在 T2 中创建一行。这个 PL-SQL api 会是什么样子?

通过替换插入触发器,我会在现实世界的应用程序中丢失什么?

基于以下响应的更多说明:我们不希望远程客户端同时写入表 T1 和 T2。这是一个高吞吐量的数据和性能将受到影响。因此远程客户端将只写入 T1。从 T1 转移到 T2 应该在本地发生。

trigger oracle plsql

5
推荐指数
3
解决办法
3647
查看次数

如何在 Oracle 中的表上找到索引占用的实际空间?

我想找到 oracle 10g 中表上的索引消耗的实际空间。我不打算包括 oracle 保留的空间以供将来使用。(不应该考虑oracle 的开销。)我想要使用的字节而不是分配的字节。

你能帮我继续前进吗?

另外,有没有办法找到表中长字段的实际大小。

PS:vsize() 和 dbms_lob.getlength() 不起作用。

oracle oracle-10g

12
推荐指数
2
解决办法
6万
查看次数

光标:引脚 S 在 11g 中等待 X

这是我们数据库中排名前 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)

oracle oracle-11g

3
推荐指数
1
解决办法
5179
查看次数

可以在 SQL Server 数据库名称中放置点吗?

如果我在 SQL Server(2005 或 2008)中使用带点的数据库名称,例如“MyApp.Sales”,这会导致任何问题吗?

sql-server

34
推荐指数
5
解决办法
4万
查看次数

Oracle SQL - WHERE 子句中的 CASE

有可能以某种方式做到这一点吗?

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)

oracle case

6
推荐指数
2
解决办法
16万
查看次数

用于销售跟踪或财务数据库的 SQL 事务过程示例

我正在为类似于汽车销售数据库的会计/销售类型系统制作一个数据库,并希望为以下现实世界的操作进行一些交易:

  1. 销售员创建新产品运送到地板上(itempk、汽车制造、年份、价格)。
  2. 销售员更改价格。  
  3. 销售员为已售产品创建销售条目(salespk、itemforeignkey、已售价格、销售员)。  
  4. 销售员取消已移除产品的项目。  
  5. 销售员取消销售取消销售。

       我在网上找到的例子太笼统了,比如“这是一笔交易”,我想要一些类似于我试图做的事情来理解它。

任何人都有一些很好的类似或相关的 sql 示例,我可以看看来设计这些?人们是否将交易用于销售数据库?或者,如果您之前做过这种 sql 事务,您能否概述如何进行这些事务?

到目前为止,我的(因为不是真正的问题而关闭)线程堆栈溢出:需要用于销售跟踪或财务数据库的示例 SQL 事务程序

最新更新,用户将从 ac# 应用程序发送新的输入/更改/和取消。申请资料:

  • 展示的产品(这是具有 3 个子节点的父节点)

  • Sales(Products On Display 的子节点)

  • 产品自定义功能(展示产品的子节点)

  • 产品价格/当前状态(展示产品的子节点)

C# 应用程序将该数据打包为 XML 格式,然后执行一些 SQL 存储过程,其中事务将 xml 到表的转换保存在一起,转换为使用相同父/子节点结构设计的 SQL 表,使用的内容类似于此相关的答案所描述的内容关于堆栈溢出的问题:https : //stackoverflow.com/q/2756773/613799

我希望有一本关于设计多用户销售数据库的书,以及相关用户应用程序将使用的存储过程事务从头开始 app->xml->database。如果你知道一个好的,或者一本书的一章,请告诉我。

database-design sql-server stored-procedures

5
推荐指数
1
解决办法
4490
查看次数

关于用户+用户组+用户类型+订阅模型的设计问题

我正在重新开发一个现有的 Web 应用程序,其源代码和底层数据库设计都很弱。我正在尝试以一种未来扩展更容易的方式开发事物,即:

  • 支持新的登录机制
  • 支持新的用户类型(即新的订阅计划)
  • 支持新的用户角色

这是我未完成的架构的一些屏幕截图。您是否发现此设计可能出现任何问题/数据不一致?

橙色方块是主键,蓝色方块是外键。必须将其分成两幅图像。

用户/订阅/授权组:

在此输入图像描述

用户组/订阅类型:

在此输入图像描述

提前致谢!

mysql foreign-key database-design primary-key

4
推荐指数
1
解决办法
1260
查看次数

在我杀死我的客户后,MySQL 继续处理查询数小时

嗨,我有一个包含 1000 万行和许多触发器的 MySQL 数据库。一个 php 客户端每秒连接到 mysql 和 INSERT 的数百行。

当客户端运行了几个小时,我终止了客户端,使用 mytop 我看到交易仍在发生,甚至是新的交易。它持续数小时才“赶上”。

现在作为 DBA,我如何查看这个“积压日志”?它被列为什么变量?用什么my.cnf参数来控制呢?为什么会发生这种情况?我以为

mysql mariadb

6
推荐指数
2
解决办法
2149
查看次数

为什么我们需要备份 Oracle 归档日志和数据文件

Oracle® 数据库备份和恢复基础知识 10g 第 2 版 (10.2) 说

归档重做日志是成功恢复媒体的关键。定期备份它们。

但是,我想知道为什么存档日志的备份如此重要。是否可以仅使用常规 RMAN 完整和增量数据文件备份进行时间点恢复。

oracle backup rman

12
推荐指数
2
解决办法
2万
查看次数