小编Mik*_*ll'的帖子

给定期望的结果和数据库信息,以编程方式构建一个提供结果的SQL查询

我不认为有一个简单的方法可以做到这一点,但有机会有...

我从1000万记录表中获得了大约10000条记录的列表.数据当前由各种非索引元素的查询生成.我想使用十个单独的索引字段自动构建提供相同结果的查询.

有没有一种已知的算法来构建这样的东西?除了将每个索引"节点"包含在自己的OR中的基础之外,我的意思是.

例如,假设所需的数据是:

Letter, Number
A, 1
A, 2
B, 1
C, 2
Run Code Online (Sandbox Code Playgroud)

和原始数据库有

Letter, Number
A, 1
A, 2
A, 3
B, 1
C, 1
C, 2
D, 1
D, 3
Run Code Online (Sandbox Code Playgroud)

我喜欢这样的东西:

WHERE ((Letter = 'A' OR Letter = 'B') AND (Number = 1 OR Number = 2)) 
OR (Letter = 'C' and Number = 2)
Run Code Online (Sandbox Code Playgroud)

或者可能

WHERE (Letter IN ('A', 'B', 'C') AND Number IN (1, 2) 
AND NOT (Number = 1 AND Letter = 'C'))
Run Code Online (Sandbox Code Playgroud)

但我 …

sql algorithm

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

每个客户端一个数据库或一个数据库中的所有客户 我应该将哪一个用于在线申请?

所以我有这个应用程序,它有多个模块,从项目管理到会计模块.问题是我应该为每个客户(公司)建立一个数据库还是一个包含所有内容的数据库?

1)哪一个会更好的表现?
2)管理多个数据库要困难得多,或者这些数据库是否易于管理.
3)我们将为所有用户提供相同的应用程序,这意味着无论数据库的数量如何,都将使用相同的模式.
4)一些客户将会有很多(例如,会计师可能在一个表中每年增加200万行),而其他客户将使用更少的数据.

你觉得我应该怎么用?

mysql database-design multi-tenant

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

Python Keras LSTM学习在高损耗时收敛得太快

这更像是一个深度学习概念问题,如果这不是正确的平台,我会把它带到其他地方.

我正在尝试使用Keras LSTM序列模型来学习文本序列并将它们映射到数值(回归问题).

问题是,学习总是在高损失(训练和测试)上收敛得太快.我已经尝试了所有可能的超参数,我感觉这是一个局部最小问题导致模型的高偏差.

我的问题基本上是:

  1. 鉴于此问题,如何初始化权重和偏差?
  2. 使用哪种优化器?
  3. 我应该扩展网络的深度(我担心如果我使用非常深的网络,训练时间将无法忍受,模型差异将会增大)
  4. 我应该添加更多培训数据吗?

输入和输出用minmax标准化.

我正在使用具有动量的SGD,目前有3个LSTM层(126,256,128)和2个密集层(200和1个输出神经元)

我已经在几个时期之后打印了重量,并注意到许多权重为零,其余的基本上具有值1(或非常接近它).

以下是tensorboard的一些情节:在此输入图像描述

python deep-learning lstm keras tensorflow

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

如何规范化SQL数据库

我想知道是否有人对如何规范化数据库有任何建议.现在,我并不是指设计结构,我的意思是如何将数据库数据从旧结构实际移动到新的标准化结构.我知道我可以编写类似PHP脚本的东西,但我想知道是否有办法在SQL中执行此操作.特别是MySQL.

**编辑:有没有人尝试过像SwisSQL这样的东西?这是一个迁移工具,但我不确定它是否能满足我的要求.

mysql sql database migration

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

一个数据库与许多数据库

我知道这个问题已被多次询问,但我想答案一下.

我正在开发一个Web应用程序,它将允许我的客户管理他们的客户,兑现,发票,预订,网站和许多其他事情.我正在使用MySQL和一个包含大约30个表的数据库.

我希望我的解决方案能够处理大约100,000个或更多客户.我的客户的需求将大不相同.从每年100个插入到一个,每天1000个插入到另一个.

现在我正在使用一个数据库(但我还在开发中),其中每个表都有一个帐户字段.我创建了一个模型层来访问自动将帐户附加到每个查询的数据(WHERE guid = 1成为WHERE帐户= X AND guid = 1).这项工作非常好,并且很容易维护,但我担心混合客户数据的事实.请注意,我使用的是增量ID而不是GUID.

我的问题是,我应该继续做这样的事情还是应该为每个客户创建一个数据库?

mysql database multi-tenant

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

BCNF - 无法实现?

设R是与Schema R(X,Y,Z)的关系
,它的FD是
{XY - > Z,Z - > Y}
我无法将其分解为BCNF.
因为r1(Z,Y), r2(Z,X)将失去FD XY - > Z
R(X,Y,Z)本身不是解,因为 Z-> Y表明Z应该是关键.

这该怎么做 ???

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

主键中的列顺序,性能

由于性能原因,我有一个小问题。

我正在使用symfony和学说。我一直在实体中使用注释,最近决定切换到yml文件。

因此,我将所有实体从外部导出并生成了yml文件。

我将yml文件与数据库进行了比较。生成了一个diff文件,该文件将主键放在某些表上,然后以不同的顺序添加它们。这些主键有多列。

似乎仅当列之一是外键时才会发生。

问题是我是否可以对数据库执行更改并切换键列的顺序,还是会影响性能?

mysql performance primary-key

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

如何将 Postgres 外键模拟到分区表中

我有一个分区表(称为 A),其串行主键被另一个表(称为 B)引用。我知道我实际上无法创建从一个到另一个的外键(因为我不知道数据实际存储在哪个分区),因此,我尝试使用 check 来模拟外键的行为限制。像下面这样:

CREATE TABLE A (
    MyKey SERIAL PRIMARY KEY
);

CREATE TABLE B (
    AKey INT, -- Should have: REFERENCES A (MyKey),
              -- but can't due to Postgres limitations
);

CREATE TABLE APart1 (
    Field1 INT,
    PRIMARY KEY (MyKey)
) INHERITS (A);

CREATE TABLE APart2 (
    Field2 INT,
    PRIMARY KEY (MyKey)
) INHERITS (A);

CREATE FUNCTION ValidateKeyInA(aKey INT) RETURNS BOOL AS $$
    BEGIN
        PERFORM * FROM A WHERE MyKey = aKey;
        IF FOUND THEN …
Run Code Online (Sandbox Code Playgroud)

postgresql foreign-keys database-partitioning postgresql-9.3

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

我需要使用 PostgreSQL 尽快在日期范围之间添加大量值,最好的方法是什么?

这是我正在尝试做的一个简单示例:

CREATE TABLE daily_factors (
    factor_date date,
    factor_value numeric(3,1));

CREATE TABLE customer_date_ranges (
    customer_id int,
    date_from date,
    date_to date);

INSERT INTO
    daily_factors
SELECT
    t.factor_date,
    (random() * 10 + 30)::numeric(3,1)
FROM
    generate_series(timestamp '20170101', timestamp '20210211', interval '1 day') AS t(factor_date);

WITH customer_id AS (
    SELECT generate_series(1, 100000) AS customer_id),
date_from AS (
    SELECT
        customer_id,
        (timestamp '20170101' + random() * (timestamp '20201231' - timestamp '20170101'))::date AS date_from
    FROM
        customer_id)
INSERT INTO
    customer_date_ranges
SELECT
    d.customer_id,
    d.date_from,
    (d.date_from::timestamp + random() * (timestamp '20210211' - …
Run Code Online (Sandbox Code Playgroud)

postgresql postgresql-performance

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

复合键中的MySQL列顺序

我怀疑,这是我的表:

mysql> show create table watchdog\G
*************************** 1. row ***************************
   Table: watchdog
   Create Table: CREATE TABLE `watchdog` (
       `index1` int(11) NOT NULL DEFAULT '0',
       `index2` int(11) NOT NULL DEFAULT '0',
       `dog` int(11) NOT NULL DEFAULT '9',
        PRIMARY KEY (`index1`,`index2`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8

    1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

<1>首先查询:

select index1, index2 
from watchdog 
where index1 > 4000008 and index1 < 4200007; 
Run Code Online (Sandbox Code Playgroud)

结果:

 ...
| 4200001 | 4200002 |
| 4200002 | 4200003 |
| 4200003 | 4200004 | …

mysql key composite

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