问题标签 [database-management]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 带有 MySQL 的高级网店过滤
我正在使用与此类似的数据库设计在 MySQL 和 PHP 中创建一个网上商店(见图)
我没有遇到不同规格的多价商品的问题,就像上面链接的问题一样。
这将是一个电脑网上商店,所以我不需要为每个产品制定规格。例如,我可以对它们进行分类。智能手机、笔记本电脑……并为每个类别添加规格。
智能手机可能有:品牌、处理器类型、屏幕尺寸、颜色、电池、价格等。
笔记本电脑:处理器、显卡、品牌、价格、尺寸……
我也认为不需要[combinations]
桌子,因为在我看来,不必要地存储太多了。
我的问题是过滤产品。我可以轻松地选择所有这些,或者只选择一个,或者例如。选择所有白色手机或所有白色或金色手机,但我无法选择所有具有 8MP 前置摄像头的白色手机。
表结构::
[products]
id、name、category_id、description
[categories]
:身份证,姓名
[specifications]
:id,category_id,名称
[spec_values]
: id、product_id、spec_id、值
以下 SQL 返回所有不同的金色或具有 8mp 前置摄像头的产品。
我想在它们之间有一个逻辑AND
而不是一个OR
,但只是简单地改变它什么都不返回,因为它不能在单行中实现,因为我的规范名称和值存储在多行中。
一种解决方案是为每个过滤器使用 SQL CREATE TEMPORARY TABLE
,但我认为这需要大量不必要的服务器端工作。
另一种方法是获取所有非不同的值并使用 PHP 遍历它们并检查它们是否都存在;如果是,则将它们显示在页面上,但是,那个也可能是混乱的。
由于我缺乏 SQL 经验,有没有更好的解决方案我没有注意到?预先感谢您的任何帮助。祝你有美好的一天!
node.js - 如何在 Node.js 项目中的 Arango 或 Neo4j 中存储和管理数据库模式
我无法理解如何管理模式以针对不同的环境(开发、测试和生产)拥有相同的数据库结构。并在部署服务器中。如何定义、存储和更新 ArangoDB 或 Neo4j 模式。
我知道 SQL 数据库的 sequelize 实用程序。它具有用于在不同模式版本之间迁移的工具(http://docs.sequelizejs.com/manual/tutorial/migrations.html),以更好地理解我想要的。
sql-server - 如何评估使用 MS SQL Server 与 Amazon Redshift 的成本?
我有一个使用 SQL Server 处理所有事情的客户端,包括使用分析查询为营销仪表板提供动力。他们很高兴开始将数据作为数据仓库推送到 Redshift 中,以提高速度(例如,需要数小时的查询现在需要数分钟或数秒)。但他们想比较成本。
如何做到这一点我有点天真,因为这些是非常不同的工具,比如说我对飞行的费用感到紧张,而不是在城里骑自行车。
共享哪些最佳框架和定价数据以进行现实比较?
php - MySQL:如果已经有 created_at 列,是否可以定义一个新的日期列来确定获取记录的日期?
我需要一些关于数据库管理的帮助。我正在尝试从我的数据库中检索数据(通过created_at字段过滤它们)。
当我从今天创建的数据库中检索数据时不会有问题。
例如今天是 4/17。当我今天运行插入函数时,created_at 的值也将是 4/17。因此,当我转到我的网页并显示 4/17 的数据时,数据将是正确的。
但是假设我忘记获取 4/15 的数据,我今天需要获取这些数据。当我现在在我的数据库中插入这些数据时,created_at 将为 4/17,但相邻的数据实际上是 4/15。
现在,当我访问我的网页并显示 4/15 的数据时,我什么也得不到。
作为一种解决方法,我在表中添加了一个日期字段,这将包含一个指定的日期,这与采用服务器日期的 created_field 不同。我现在使用日期字段来过滤网页中的数据。
但是,我认为这有点多余或效率低下。有没有人有什么建议?
r - 通过两列组合重新组织列
我目前正在学习 tidyr 和 dplyr。进入以下问题,我不确定如何正确面对:
对以下数据集进行成像:
试图获得:
我在这方面有基本的 R 知识,并使用默认的 R 函数尝试了几个选项,但没有结果
r - 基于通用 ID 删除 NA 的行组合
我最近在这个链接中问了一个关于 R 包 tidyr、dplyr 或类似的数据库管理的问题(Reorganizing columns by two column combination)。
这很有帮助,我设法完成了建议的代码,但我以我需要的最终格式绞尽脑汁。
我无法达到这种格式,并且想知道如何轻松完成。
鉴于此作为示例数据库:
并试图获得:
因此,它将为因子 1 和因子 2 设置通用标识符,以按年分布数据集并总结值 1 和 2 的常见年份
我是 tidyr、dplyr 的初学者,不能轻易做到这一点。
我多年来一直能够传播数据集:
但这并没有像我想要的那样对普通年份的 value1 求和。
sql - 为什么用户不能在同一张表上同时运行两个或多个选择查询?
在使用 Oracle 数据库练习 DBMS 和 SQL 时,当我尝试在表上触发 2 个选择查询时,数据库总是等待第一个查询完成执行,并且显然将另一个查询保留在管道中。
考虑一个具有 100 万条记录的表 MY_TABLE,其中的“id”列包含记录的序列号。
现在我的查询是:-
查询 #1 -select * from MY_TABLE where id<500001; --I am fetching first 500,000 records here
查询 #2 -select * from MY_TABLE where id>500000; --I am fetching next 500,000 records here
由于这些是选择查询,因此它们必须在作为共享锁的表上获取读锁。那么为什么会出现这种现象呢?请注意,据我所知,这两个查询的示例空间或域是互斥的,因为我通过 where 子句应用了过滤器,这进一步加剧了我的困惑。
此外,我以这种形式将其可视化,必须有一些进程正在评估我的查询,然后与内存(即资源)握手以获取结果。因此,所有持有该锁的进程都应该可以访问共享锁模式下的任何资源。
其次,是否有任何方法可以覆盖此行为或同时执行多个选择查询。
注意:- 我想将特定任务(即表的数据)分块并提高脚本的速度。
database - 从 Google Cloud Firestore 快速获取数据
我正在制作一个颤振应用程序,并且我正在使用 cloud firestore 作为我的在线数据库。我的应用程序中的一项功能是寻找附近的用户,并在屏幕上的自定义小部件中向当前用户显示他们的个人资料。我这样做的方式是获取当前用户的位置(实时位置或保存在数据库中的地址),然后为用户遍历我的数据库集合中的每个用户。我从存储的数据中获取用户的地址,使用距离矩阵 API 计算距离,然后如果距离小于特定数字(例如 10000 米),我为用户创建配置文件小部件以在屏幕上显示它。
有2个问题:
1-如果我的用户数量增加(例如一百万用户),通过查看每个用户详细信息并计算距离,可能需要很长时间才能在屏幕上获得结果。目前,我只有 20 个用户用于测试目的,当我搜索附近的用户时,结果可能需要 30 秒才能显示在屏幕上。
2- 由于互联网连接速度较慢,等待时间可能会更长,并且它可以使用大量用户数据来完成这个简单的任务。
如何改进此功能并使其更快?
(我目前的想法是根据用户的位置将用户划分为不同的文档,然后使用当前用户的位置仅浏览其中一个文档。问题是如何有效地划分地址并找到要查找的最佳地址为了。)
下面是我找到附近用户并将他们添加到我传递给我的自定义小部件类的列表的代码。
这是我计算原始地址和目标地址之间距离的代码。
}
postgresql - PostgreSQL 的 pg_stat_all_indexes 表中的统计信息存储多长时间?
我使用 PostgreSQL 11.1,我正在尝试从pg_stat_all_indexes
表中收集有关索引使用情况的信息,以确定是否可以删除特定索引 - 根据https://wiki.postgresql.org/wiki/Index_MaintenanceIndex size/usage statistics
中的部分。
我注意到那里存在的信息会随着时间的推移发生显着变化(从几千个索引命中到 0),而且我在文档或此表本身中都找不到有关这些统计信息生命周期的信息。这让我很担心,因为我想确定,我要做出的关于删除索引的决定是基于足够长的一段时间内的统计数据。
有什么方法可以检查这些统计信息在pg_stat_all_indexes
表中存储了多长时间?