小编Mic*_*een的帖子

更改数据目录后MongoDB不启动

我已经mongodb使用yum安装了一个实例. 现在一切正常。我使用service mongod start. 它运作良好。然后我更改了配置文件中的data directorylog path。我再次重新启动服务器并启动了服务。但我收到以下错误:

Restarting mongod (via systemctl):  Job for mongod.service failed. See 'systemctl status mongod.service' and 'journalctl -xn' for details.
                                                           [FAILED]
Run Code Online (Sandbox Code Playgroud)

当我给时,systemctl status mongod.service我得到以下信息:

 Loaded: loaded (/etc/rc.d/init.d/mongod)
   Active: failed (Result: exit-code) since Wed 2015-03-18 11:35:56 IST; 22s ago
  Process: 10672 ExecStop=/etc/rc.d/init.d/mongod stop (code=exited, status=0/SUCCESS)
  Process: 10841 ExecStart=/etc/rc.d/init.d/mongod start (code=exited, status=1/FAILURE)
 Main PID: 10509 (code=exited, status=0/SUCCESS)

Mar 18 11:35:56 localhost systemd[1]: Starting SYSV: …
Run Code Online (Sandbox Code Playgroud)

mongodb configuration

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

如果另一列中的值为 true,则 NOT NULL

我有一张与这张相似的桌子

create table my_table
(
id serial,
attribute boolean,
number integer
)
Run Code Online (Sandbox Code Playgroud)

有没有办法让它在列numberIF attributevalue is 中强制不为空true

因此,如果使用属性值“true”保存记录,则必须为 number 指定一个值。

编辑:经过一些挖掘,我试过这个

alter table my_table 
add constraint number_must_have_value CHECK (attribute = 't' and number IS NOT NULL)
Run Code Online (Sandbox Code Playgroud)

它抛出约束被某行违反,但如果我运行:

select * from my_table where attribute = 't' and number IS NOT NULL 
Run Code Online (Sandbox Code Playgroud)

我检索 0 行。所以我的数据似乎没问题?

无论如何,我尝试使用

constraint number_must_have_value NOT VALID CHECK (attribute = 't' and number IS NOT NULL)
Run Code Online (Sandbox Code Playgroud)

但无法使 NOT VALID 选项起作用。我收到语法错误。是不是在正确的地方?

postgresql constraint

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

计数(*)超过()

我有一个COUNT(*) OVER ()作为查询的一部分来获取大量数据,其中包含大约 15 个表的连接(有些大,有些小)。这里计数的最佳解决方案是什么?

  1. 单独查询以查找计数。
  2. COUNT(*) OVER () 作为获取数据的查询的一部分(因为它将计算每一行的计数?!)
  3. 或查询以获取计数并结合查询以获取数据。(当然,我必须为数据查询要获取的所有其他列设置 null。)

sql-server-2008 sql-server window-functions

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

如何判断备份文件是否包含 CDC?

使用 SQL Server 2008 到 2014 年,我知道如何在启用变更数据捕获 (CDC) 的情况下备份和恢复数据库,但我正在寻找一种查询完整备份文件以确定它是否包含 CDC 数据的方法。

RESTORE FILELISTONLY这样从数据库中获取文件列表,而是获取 CDC 状态以确定还原是否需要使用 KEEP_CDC 标志的方法会很棒吗?

有没有办法确定备份是否包含 CDC 数据?

谢谢!

sql-server-2008 sql-server sql-server-2012 change-data-capture sql-server-2014

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

Seek 谓词中的标量运算符

我在 SQL Server 2012 中遵循了我的实际查询的简化版本。从 Containers 表中选择数据时,它在搜索谓词中有一个标量运算符。

这个搜索谓词中标量运算符的目的是什么?

CREATE TABLE #EligibleOrders (OrderID INT PRIMARY KEY,
                             StatusCD CHAR(3),
                              CreatedOnDate DATETIME
                              )
--insert logic into #EligibleOrders

--Final Query
SELECT T2.OrderID ,olic.LineItemID,
        SUM(c.quantity) AS ShippedQty,
        COUNT(DISTINCT c.ContainerID) AS ShippedCases
FROM #EligibleOrders T2
INNER JOIN dbo.OrderLineItemContainers (NOLOCK) AS olic 
    ON  olic.OrderID = T2.OrderID
INNER JOIN dbo.Containers (NOLOCK) AS c
    ON olic.Containerid = c.Containerid
GROUP BY T2.OrderID ,olic.LineitemID 
OPTION (MAXDOP 1)
Run Code Online (Sandbox Code Playgroud)

执行计划

在此处输入图片说明

寻求谓词

在此处输入图片说明

sql-server execution-plan sql-server-2012

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

快速有效地删除数据库并删除所有文件的最佳方法?

如果我将 Microsoft SQL Server 数据库设置为脱机并删除它,它将被删除,但日志和数据文件将保留。如果我在联机模式下执行此操作,则另一个连接可能会阻止我删除它。在开发环境中,或者对于我想定期清理并在生产环境中重新创建的数据库,清理数据库及其数据文件和日志文件的最佳 T-SQL 命令序列是什么,它会一直工作因为我有 sa 权限并且没有人恶意阻止我删除数据库?

sql-server t-sql

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

在未插入的 RETURNING 中加入值

我正在从连接两个表的查询中插入,然后我想要插入行中的新 ID,以及插入中不涉及的原始行中的字段。是否可以?我收到“列不存在”错误。

INSERT INTO new_table (x,y) 
select A.x,B.y 
from A 
  join B on A.w = B.z 
RETURNING id,B.z;
Run Code Online (Sandbox Code Playgroud)

new_table有唯一约束(x,y)

new_idB.z需要插入到第二个表。

postgresql join insert

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

mysqld 一直自动重启

我在 Mac OSX Al Capitan 上运行 mysqld。启动后,我跑去mysql.server start启动mysqld服务器。

但是当我运行mysql.server stop, or 时sudo mysql.server stop,它只是停止了一段时间,稍后它会再次自动重新启动。

我也试过mysqladmin -uroot -p -hlocalhost shutdown没有用。

它只是一次又一次地重新启动。

我想这可能与mysql_safe进程有关,但我不知道如何正确停止mysqld,并强制它不再重新启动,直到我自己mysql.server start手动运行。谢谢!

mysql mac-os-x

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

从大表的索引字段中选择前 10 个需要太长时间

我有一个包含 165M 记录的表,如下所示:

Performance
   id        integer
   installs  integer
   hour      timestamp without time zone
Run Code Online (Sandbox Code Playgroud)

我也有一个小时索引:

CREATE INDEX hour_idx
  ON performance
  USING btree
  (hour DESC NULLS LAST);
Run Code Online (Sandbox Code Playgroud)

但是,选择按小时排序的前 10 条记录需要 6 分钟!

EXPLAIN ANALYZE  select hour from performance order by hour desc limit 10
Run Code Online (Sandbox Code Playgroud)

退货

Limit  (cost=7952135.23..7952135.25 rows=10 width=8) (actual time=376313.958..376313.964 rows=10 loops=1)
  ->  Sort  (cost=7952135.23..8368461.00 rows=166530310 width=8) (actual time=376313.957..376313.960 rows=10 loops=1)
        Sort Key: hour
        Sort Method: top-N heapsort  Memory: 25kB
        ->  Seq Scan on performance  (cost=0.00..4353475.10 rows=166530310 width=8) (actual time=0.006..327149.828 rows=192330557 …
Run Code Online (Sandbox Code Playgroud)

postgresql performance index explain

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

从事决策树数据库设计

我正在做决策树数据库的概念模型。目标是存储任何决策树。

我有四种实体类型:DecisionTree、Node、Branch 和 Leaf。

  • 每个决策树由决策节点、分支和叶子组成。
  • 每个决策节点都有一个名称和位置。
  • 每个分支都是可能的决策或事件的路径。
  • 每个叶子都有代表待分类对象的类标签。

决策树示例:

在此处输入图片说明

图 1 提供了一个决策树及其相关规则的示例,其中 p(Class #i) 是对象属于 Class #i 的概率。

SQL 数据库中的树示例:

决策树的表示:

在此处输入图片说明

我的概念设计在以下实体关系图 (ERD) 中表示:

在此处输入图片说明

所以,问题是:如何将节点、分支和叶与决策树关联起来?

tree erd database-design

8
推荐指数
0
解决办法
2819
查看次数