小编Der*_*ney的帖子

如何根据一行的字段在索引上创建多个条目?

我从未找到将一行的多个字段索引为索引条目或在 MySQL 上模拟此功能的好方法。

当您将字段用作标签或类似概念时,就会出现问题。例如:字段名称为 tag1、tag2、tag3。要快速搜索具有特定标签的行,您需要有 3 个索引并以最基本和最明显的方式执行 3 个单独的查询。

有没有办法将这 3 个字段索引为一个索引的条目,只允许一次搜索。

ID tag1 tag2 tag3
-- ---- ---- ----
01 abc  xyz  bla
02 foo  bar  ble
03 xyz  bla  bar

index
abc -> 01
bar -> 02 03
bla -> 01 03
ble -> 02
foo -> 02
xyz -> 01 03
Run Code Online (Sandbox Code Playgroud)

或者有没有其他方法可以有效地做到这一点?

mysql index optimization

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

使用 toad 将数据从一个 oracle 数据库移动到另一个数据库

我是 oracle 的新手,这对很多人来说可能是一个简单的问题。

我需要从一个数据库中获取数据并将其插入到另一个数据库中。数据库的版本和版本相同。我目前正在使用 Toad。

我所能找到的只是使用导出和导入实用程序,我无法从我的 toad 客户端执行这些实用程序。我希望有一个查询来检索文件中的数据,然后将此文件导入另一个数据库。

oracle

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

Oracle 如何处理复合索引查找?

MySQL不能在WHERE条件不包括构成最左边前缀的列的查找中使用复合索引:

如果列不构成索引的最左边前缀,MySQL 不能使用索引来执行查找。

来自这个关于 PostgreSQL 的回答的引述引起了我的注意:

这在 Oracle 11 中有些不同,它有时也可以使用不在索引定义开头的列。

在什么情况下 Oracle(至少在 11g 中)可以在查询中不存在最左侧前缀列的情况下进行查找?

index oracle

3
推荐指数
2
解决办法
1959
查看次数

新表复合主键的外键部分

我试过搜索负载,但我没有收到我的问题的具体答案。假设我有一个主键为 的表'A' Apk

Apk是表'B'中的外键。在表'B'中,我还有另一列Bcol

现在对于 'B' 我可以有一个由 'Bcol' 和 'Apk' 组成的复合主键PRIMARY KEY(Bcol, Apk)吗?是否可取?

mysql

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

SQL Server 的 OPENXML 问题

我是 OPENXML 的新手,并且有 90% 的我想做的工作......坚持这个:

<ReportHost name="411.114.42.42">
  <HostProperties>
    <tag name="HOST_END">Wed Nov 11 20:48:43 2015</tag>
    <tag name="LastAuthenticatedResults">8675309</tag>
    <tag name="Credentialed_Scan">true</tag>
    <tag name="policy-used">AWT v6</tag>
    <tag name="ssh-auth-meth">MyPassword</tag>
    <tag name="ssh-login-used">MyLogin</tag>
    <tag name="local-checks-proto">ssh</tag>
    <tag name="host-ip">411.114.42.42</tag>
    <tag name="HOST_START">Wed Nov 11 20:00:01 2015</tag>
  </HostProperties>
</ReportHost>
Run Code Online (Sandbox Code Playgroud)

我想要的结果:

Wed Nov 11 20:48:43 2015
8675309
TRUE
AWT v6
MyPassword
MyLogin
ssh
411.114.42.42
Wed Nov 11 20:00:01 2015
Run Code Online (Sandbox Code Playgroud)

我可以获取名称值(“Host_end”等),但不能获取内容。

我的查询:

Select   * 
from OPENXML (@hdoc,'/ReportHost/HostProperties/tag',1)
WITH (
    name varchar (500)
     )
Run Code Online (Sandbox Code Playgroud)

如果可能的话,我想坚持使用 OPENXML,因为我只是花了一天的时间学习它并进入最后一步。

如果我提供了足够的信息,请告诉我。

xml sql-server

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

从多个表中选择时,我得到了记录的乘法

在下面执行此查询时,它花费的时间太长。结果是记录太多,数据库中的记录可能更多。查询应返回大约 117.000 条记录。即在半年内进入数据库的记录量。

为什么这个查询成倍增加,导致数百万条记录?如果有人能告诉我我被卡住的地方,我会很高兴。

/* Formatted on 2011/08/05 17:09 (Formatter Plus v4.8.7) */
SELECT   t2.flag, t3.reg_number, t1.reportdate, t1.latitude, t1.longitude,
     t1.value2 course, ((t1.measspeed) * 3.6) / 1.852, t1.status alarms
FROM traffic t1, details t2, registernumbers t3
WHERE     t1.mobileno = t2.mobile
     AND t2.mobile = t3.mobileno
     AND UPPER (t2.flag) = UPPER ('BEL')
     AND t1.reportdate BETWEEN '1/jan/2011' AND '1/jul/2011'
     AND (latitude > 52 AND longitude > 2)
     AND latitude > 48
  OR (latitude < 52 AND longitude > 2)
  OR (latitude > 52 AND …
Run Code Online (Sandbox Code Playgroud)

oracle query

2
推荐指数
3
解决办法
1642
查看次数

如何比较来自另一个环境的备份数据库

有没有人从 Oracle 数据库的实时环境中获取备份(大约 30 个表),然后使用此备份加载测试环境并在测试环境和从实时环境中获取的备份之间进行比较?最好不要使用针对实时环境的查询。

请注意,在加载测试环境时,实时环境将有事务更改其数据,因此我无法在加载测试环境后使用实时环境的数据进行比较。

这个想法是选择备份丢失的任何丢失的记录、列甚至表。知道实际数据值是否相同也很棒。

我认为散列函数可能是最好的方法。有没有可用的工具?

oracle data-warehouse backup

2
推荐指数
1
解决办法
740
查看次数

如果“插入或更新后触发器”停止工作,是否可以通知我?

上周,我发现我after insert or update trigger没有工作。在我禁用并启用它后,它又开始工作了。

我还不知道它为什么停止工作。有什么办法可以解决这个问题吗?因为此触发器正在记录日常作业的值,并用于报告目的。如果这个触发器在没有我通知或错误的情况下在几天内消失,我将陷入困境。

我正在使用 Oracle 10g,使用 sqldeveloper 访问数据库

My Trigger

create or replace
TRIGGER MASTER.INSTANCE_STEP_TRG 
AFTER INSERT OR UPDATE OF SYSID,STEP_ID,INSTANCE_ID,PARENT_STEP_ID ON MASTER.WF_INSTANCE_STEP 
REFERENCING OLD AS old NEW AS new 
FOR EACH ROW 
WHEN (new.sysid > 0) 
declare 
stepSysid number;
crCode varchar(50);
crDate date;
step_id number;
BEGIN
  step_id := :new.step_id;

  select ss.sysid into stepSysid from TEMPLATE.wf_step ws 
  inner join TEMPLATE.step_stage ss on ss.sysid=ws.stage_id
  where ws.sysid= step_id;


  if ( stepSysid>0) then
    insert into MASTER.fact_cr_progress values(0,:new.instance_id,stepSysid,:new.create_dt);
  end …
Run Code Online (Sandbox Code Playgroud)

trigger oracle oracle-10g

2
推荐指数
1
解决办法
1778
查看次数

16 核 12 GB RAM 服务器 MySql 配置 - my.cnf

即使安装了 memcached 和 APC,服务器也需要 20 多秒(等待时间/缓慢的 IO 响应时间)来响应 HTTP 请求。我相信这与 MYSQL 有关系,因为该站点有很多INSERT查询。

任何帮助将不胜感激。提前致谢。

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               6.38    0.03    1.05    0.40    0.00   92.14
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          10.37    0.00    1.61    3.14    0.00   84.87
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           9.40    0.00    1.41    1.53    0.00   87.67
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          10.02    0.00    1.42    1.09    0.00   87.46
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           9.32    0.00    1.31    0.78    0.00   88.59 …
Run Code Online (Sandbox Code Playgroud)

mysql innodb optimization my.cnf

2
推荐指数
1
解决办法
7381
查看次数

清理 Oracle 非活动会话

我们的数据库中存在大量非活动会话。
我们如何清理这些不活跃的会话?

数据库 - 带有 ASM 的 Oracle 10g R2

  • 数据库大小 - 5TB
  • SGA - 78GB
  • PGA - 10GB
  • 允许的最大会话数 - 1200
  • 平均处于活动状态的会话数 - 150
  • 最大活动会话数 - 900

oracle oracle-10g

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