问题列表 - 第19页

将远程 MySQL 数据库复制到 MS SQL Server 2008

我想将 MySQL 数据库的内容复制到 MS SQL Server 2008 数据库。

这可能吗?任何人都可以概述实现这一目标所需的步骤吗?

谢谢。

mysql replication sql-server-2008

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

SQL Server 2008 - 同一物理机和服务器实例上的跨数据库性能

在同一台物理机上跨另一个数据库执行选择时是否会影响性能?所以我在同一个 SQL 2008 实例中运行的同一台物理机器上有 2 个数据库。

例如在 SomStoreProc on_this_db 我运行 SELECT someFields FROM the_other_db.dbo.someTable

到目前为止,我在互联网上读到的内容,大多数人似乎都表示不。

performance sql-server-2008

12
推荐指数
1
解决办法
9260
查看次数

消除 ListAgg (Oracle) 中的重复项

在 Oracle 11.2 之前,我使用自定义聚合函数将一列连接成一行。11.2 增加了这个LISTAGG功能,所以我想改用它。我的问题是我需要消除结果中的重复项,但似乎无法做到这一点。

这是一个例子。

CREATE TABLE ListAggTest AS (
  SELECT rownum Num1, DECODE(rownum,1,'2',to_char(rownum)) Num2 FROM dual 
     CONNECT BY rownum<=6
  );
SELECT * FROM ListAggTest;
Run Code Online (Sandbox Code Playgroud)
CREATE TABLE ListAggTest AS (
  SELECT rownum Num1, DECODE(rownum,1,'2',to_char(rownum)) Num2 FROM dual 
     CONNECT BY rownum<=6
  );
SELECT * FROM ListAggTest;
Run Code Online (Sandbox Code Playgroud)

我想看到的是:

      NUM1 NUM2
---------- ---------------------
         1 2
         2 2                    << Duplicate 2
         3 3
         4 4
         5 5
         6 6
Run Code Online (Sandbox Code Playgroud)

这是一个listagg接近但不消除重复的版本。

SELECT Num1, listagg(Num2,'-') WITHIN GROUP (ORDER BY NULL) OVER …
Run Code Online (Sandbox Code Playgroud)

oracle aggregate oracle-11g-r2

48
推荐指数
7
解决办法
18万
查看次数

重负载所需的 Oracle 设置

我试图在使用 Hadoop 和 HBase 的系统设置与使用 Oracle DB 作为后端实现相同的系统设置之间进行比较。我缺乏有关 Oracle 方面的知识,因此请进行公平比较。

我正在寻找处理特定工作负载(硬件、操作系统、软件堆栈等)所需的 Oracle 设置类型。

工作负载和非功能需求大致是这样的:

  1. 4 小时内,具有一个简单关系和多个(非文本)索引的两个表上的 12M 事务。这相当于每秒 833 笔交易 (TPS),持续。这需要每 8 小时进行一次。

  2. 确保所有写入都是持久的(因此在集群设置的情况下,正在运行的事务可以在机器故障时幸免于难)并且具有不错的可用性水平?

    有了不错的可用性水平,我的意思是常规故障(例如磁盘和单个网络接口/tcp 连接断开)不需要人为干预。罕见的故障可能需要干预,但应该通过启动可以快速接管的冷备用来解决。

  3. 另外添加另外 300 TPS,但是这些是否在许多表中几乎连续 24/7 发生(但都是成对的,具有相同的简单关系和多个索引)?

一些上下文:此工作负载是 24/7,系统需要保存 10 年的历史数据可用于实时查询。查询性能可能比亚秒级差一点,但必须足够活跃以考虑日常使用。

ETL 作业的设置方式几乎没有流失。同样在关系设置中,这种工作负载会导致很少的锁争用。我希望索引更新是主要的痛苦。为了尽可能公平地进行比较,我期望 Oracle 提供的最宽松的一致性级别。

我无意抨击 Oracle 以支持某些非关系数据库解决方案。我认为它是一个很好的数据库,有很多用途。我试图了解像我们一样使用开源(和 NoSQL)与使用商业支持的、经过验证的设置之间的权衡。

oracle feature-comparison

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

确认 my.cnf 文件已加载 OK

有谁知道是否有办法确认 MySQL 是否正在读取 my.cnf 文件?

我在机器上只有一个 my.cnf(并且没有 my.ini 文件),我在 /etc/my.cnf 中有。

当我运行时./mysqld --help --versbose,它没有给我我在文件中设置的变量,所以我假设它没有加载它或者它正在加载一个不同的文件。

我通过将 my.cnf 设置为 777 并再次运行该命令进行了测试,这次我收到一条警告,说该文件不会被加载,因为它是全局可写的。

这是否足以暗示 my.cnf 已被加载,并且其中可能存在错误,导致未设置变量,或者是否有其他方法可以确定加载了什么(如果有)my.cnf 文件?

mysql my.cnf

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

确定传递给过程的参数 (Oracle)

PL/SQL 中的过程可以有参数的默认值,但调用者可以传递与默认值相同的值。有没有办法从 PL/SQL 内部确定是否传递了参数?正如暗示的那样,这不能通过将值与默认值进行比较来完成。

oracle oracle-11g-r2 plsql

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

从复合键中删除字段并整理重复数据

我正在寻找最好的方法来更改数据库中表上的主键,而不必再次从文件中完全重新插入数据。我将要进行的修改将删除部分主键,这将导致需要整理数万行。

被删除的密钥部分是日期字段,最初需要它来帮助唯一标识传入数据。但是,此字段在源(不受我的控制)分配的方式已经改变,我们现在只想保留特定记录的最早出现并丢弃较晚出现的。

键中的其余字段(4 个 FK)将产生唯一的记录。

我假设我需要将数据传输到另一个表,进行更改然后重新插入?或者,还有更好的方法?

sql-server-2008 primary-key

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

在 Oracle 中删除非常大的记录集的最佳方法

我管理一个应用程序,它有一个非常大的(近 1TB 的数据,一个表中有超过 5 亿行)Oracle 数据库后端。数据库并没有真正做任何事情(没有 SProcs,没有触发器或任何东西)它只是一个数据存储。

每个月我们都需要从两个主表中清除记录。清除的标准各不相同,是行年龄和几个状态字段的组合。我们通常最终每月清除 10 到 5000 万行(我们每周通过导入增加大约 3 到 500 万行)。

目前我们必须分批进行大约 50,000 行的删除(即删除 50000、提交、删除 50000、提交、重复)。尝试一次删除整个批次会使数据库在大约一个小时内没有响应(取决于行数)。像这样批量删除行在系统上是非常粗糙的,我们通常必须“在时间允许的情况下”在一周内完成;允许脚本连续运行会导致用户无法接受的性能下降。

我认为这种批量删除也会降低索引性能,并有其他影响最终导致数据库性能下降。一张表就有34个索引,索引的数据量实际上比数据本身还大。

这是我们的一位 IT 人员用来执行此清除操作的脚本:

BEGIN
LOOP

delete FROM tbl_raw 
  where dist_event_date < to_date('[date]','mm/dd/yyyy') and rownum < 50000;

  exit when SQL%rowcount < 49999;

  commit;

END LOOP;

commit;

END;
Run Code Online (Sandbox Code Playgroud)

该数据库必须达到 99.99999%,而且我们每年只有 2 天的维护窗口。

我正在寻找一种更好的方法来删除这些记录,但我还没有找到。有什么建议?

oracle delete oracle-11g

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

用于监视 SQL Server 数据库状态的最佳查询是什么?

我希望能够运行查询以获取有关数据库状态的关键信息。即,我希望查询能够判断数据库是否处于良好状态。

这是我为此检查继承的查询:

SELECT name AS [SuspectDB],
  DATABASEPROPERTY(name, N'IsSuspect') AS [Suspect],
  DATABASEPROPERTY(name, N'IsOffline') AS [Offline],
  DATABASEPROPERTY(name, N'IsEmergencyMode') AS [Emergency],
  has_dbaccess(name) AS [HasDBAccess]
FROM sysdatabases
WHERE (DATABASEPROPERTY(name, N'IsSuspect') = 1)
   OR (DATABASEPROPERTY(name, N'IsOffline') = 1)
   OR (DATABASEPROPERTY(name, N'IsEmergencyMode') = 1)
   OR (has_dbaccess(name) = 0)
Run Code Online (Sandbox Code Playgroud)

如果该查询返回任何结果,则假定数据库处于可疑或潜在的不良状态。

有一个更好的方法吗?

sql-server-2008 sql-server

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

如何对 UDF 的性能进行基准测试以确定哪个更快?

基本上我有两个标量 UDF 输出相同的数据,一个使用游标,一个使用递归 CTE。我想确定应该使用哪个并丢弃另一个;我更愿意根据实际性能数据做出这个决定。我也很好奇这两者之间有多大的区别。

如何对这些 UDF 的性能进行基准测试以确定哪个更快?

performance benchmark sql-server-2008

7
推荐指数
1
解决办法
360
查看次数