我已经mongodb使用yum安装了一个实例。. 现在一切正常。我使用service mongod start. 它运作良好。然后我更改了配置文件中的data directory和log 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) 我有一张与这张相似的桌子
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 选项起作用。我收到语法错误。是不是在正确的地方?
我有一个COUNT(*) OVER ()作为查询的一部分来获取大量数据,其中包含大约 15 个表的连接(有些大,有些小)。这里计数的最佳解决方案是什么?
使用 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
我在 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)
执行计划
寻求谓词
如果我将 Microsoft SQL Server 数据库设置为脱机并删除它,它将被删除,但日志和数据文件将保留。如果我在联机模式下执行此操作,则另一个连接可能会阻止我删除它。在开发环境中,或者对于我想定期清理并在生产环境中重新创建的数据库,清理数据库及其数据文件和日志文件的最佳 T-SQL 命令序列是什么,它会一直工作因为我有 sa 权限并且没有人恶意阻止我删除数据库?
我正在从连接两个表的查询中插入,然后我想要插入行中的新 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_id和B.z需要插入到第二个表。
我在 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手动运行。谢谢!
我有一个包含 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) 我正在做决策树数据库的概念模型。目标是存储任何决策树。
我有四种实体类型:DecisionTree、Node、Branch 和 Leaf。
决策树示例:
图 1 提供了一个决策树及其相关规则的示例,其中 p(Class #i) 是对象属于 Class #i 的概率。
SQL 数据库中的树示例:
决策树的表示:
我的概念设计在以下实体关系图 (ERD) 中表示:
所以,问题是:如何将节点、分支和叶与决策树关联起来?
sql-server ×4
postgresql ×3
constraint ×1
erd ×1
explain ×1
index ×1
insert ×1
join ×1
mac-os-x ×1
mongodb ×1
mysql ×1
performance ×1
t-sql ×1
tree ×1