Questions tagged «database»

数据库是有组织的数据集合。它是模式,表,查询,报告,视图和其他对象的集合。数据通常以支持需要信息的流程的方式来组织,以对现实的各个方面进行建模。如果对设计数据库有疑问,请使用此标记。如果它与特定的数据库管理系统(例如MySQL)有关,请改用该标记。




21
杀死一个PostgreSQL会话/连接
如何杀死我所有的Postgresql连接? 我正在尝试a rake db:drop但我得到: ERROR: database "database_name" is being accessed by other users DETAIL: There are 1 other session(s) using the database. 我尝试关闭从a看到的进程,ps -ef | grep postgres但这也不起作用: kill: kill 2358 failed: operation not permitted

21
比较两个MySQL数据库[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我目前正在使用MySQL数据库开发应用程序。 数据库结构仍在不断变化中,并且随着开发的进展而变化(我更改了本地副本,仅将其保留在测试服务器上)。 有没有一种方法可以比较数据库的两个实例以查看是否有任何更改? 尽管当前只是简单地丢弃以前的测试服务器数据库是可以的,但是随着测试开始输入测试数据,它可能会有些棘手。 相同但更多,稍后将在生产中再次发生... 有没有一种简便的方法可以增量地更改生产数据库,最好是自动创建一个脚本来对其进行修改? 答案中提到的工具: Red-Gate的MySQL模式和数据比较(商业) Maatkit(现为Percona) 液基 蟾蜍 Nob Hill数据库比较(商业) MySQL差异 SQL EDT(商业)
368 mysql  database  diff 



10
将分隔列表存储在数据库列中真的不好吗?
想象一个带有一组复选框的Web表单(可以选择任何一个或全部)。我选择将它们保存在数据库表的一列中以逗号分隔的值列表中。 现在,我知道正确的解决方案是创建第二个表并正确规范化数据库。实施简单的解决方案的速度更快,我想快速对该应用程序进行概念验证,而不必花费太多时间。 我认为节省时间和简化代码在我的情况下是值得的,这是一个合理的设计选择,还是我应该从一开始就对其进行标准化? 在更多情况下,这是一个小型内部应用程序,实际上替代了存储在共享文件夹中的Excel文件。我也在问,因为我正在考虑清理程序并使其更易于维护。我有些不满意,有些是这个问题的主题。

18
我应该如何处理MySQL中的--secure-file-priv?
我正在学习MySQL并尝试使用LOAD DATA子句。当我如下使用它时: LOAD DATA INFILE "text.txt" INTO table mytable; 我收到以下错误: MySQL服务器正在使用--secure-file-priv选项运行,因此它无法执行此语句 我该如何解决这个错误? 我已经检查了关于同一错误消息的另一个问题,但仍然找不到解决方案。 我正在使用MySQL 5.6
357 mysql  database 

7
什么时候以及为什么数据库连接昂贵?
我正在对数据库进行一些研究,并且正在研究关系数据库的一些局限性。 我知道大表的联接非常昂贵,但是我不确定为什么。DBMS需要执行什么操作才能执行联接操作,瓶颈在哪里? 非规范化如何帮助克服这一费用?其他优化技术(例如,索引编制)如何提供帮助? 欢迎亲身经历!如果您要发布资源链接,请避免使用Wikipedia。我知道在哪里可以找到。 与此相关,我想知道BigTable和SimpleDB等云服务数据库使用的非规范化方法。看到这个问题。


14
自动生成数据库图MySQL [关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 5年前关闭。 我厌倦了在每个项目的开头打开Dia并创建数据库图。是否有工具可以让我选择特定的表,然后基于MySQL数据库为我创建数据库图?最好是让我以后再编辑图表,因为没有设置任何外键... 这是我在图表上的示意图(请原谅可怕的数据设计,我没有设计它。让我们专注于图表概念,而不是本例中代表的实际数据;)): 见全尺寸图

7
Room-未将模式导出目录提供给注释处理器,因此我们无法导出模式
我正在使用Android数据库组件室 我已经配置了所有内容,但是在编译时,Android Studio会向我发出以下警告: 模式导出目录未提供给注释处理器,因此我们无法导出模式。您可以提供room.schemaLocation注释处理器参数,也可以 将exportSchema设置为false。 据我了解,这是数据库文件所在的位置 它如何影响我的应用程序?最佳做法是什么?我应该使用默认位置(false值)吗?

7
对数据库驱动的应用程序进行单元测试的最佳策略是什么?
我使用由后端复杂程度各异的数据库驱动的许多Web应用程序。通常,有一个与业务和表示逻辑分开的ORM层。这使得对业务逻辑进行单元测试相当简单。事情可以在离散模块中实现,并且测试所需的任何数据都可以通过对象模拟来伪造。 但是测试ORM和数据库本身始终充满问题和妥协。 多年来,我尝试了一些策略,但没有一个完全令我满意。 用已知数据加载测试数据库。针对ORM运行测试,并确认返回正确的数据。此处的缺点是测试数据库必须跟上应用程序数据库中的所有架构更改,并且可能不同步。它还依赖于人工数据,并且可能不会暴露由于愚蠢的用户输入而发生的错误。最后,如果测试数据库很小,它将不会像索引丢失那样显示低效率。(好吧,最后一个并不是真正的单元测试应该使用什么,但这没有什么害处。) 加载生产数据库的副本并对此进行测试。这里的问题是您可能在任何给定时间都不知道生产数据库中的内容。如果数据随时间变化,则可能需要重写测试。 有人指出,这两种策略都依赖于特定的数据,并且单元测试应该仅测试功能。为此,我看到了建议: 使用模拟数据库服务器,并仅检查ORM是否正在响应给定方法调用而发送正确的查询。 您使用了哪些策略来测试数据库驱动的应用程序(如果有)?什么对您最有效?

8
Rails:include与。:joins
这更多是“为什么事情会这样工作”的问题,而不是“我不知道如何做到”的问题。 因此,使用有关拉取您知道将要使用的关联记录的福音是有用的,:include因为您将获得联接并避免了很多额外的查询: Post.all(:include => :comments) 但是,当您查看日志时,不会发生连接: Post Load (3.7ms) SELECT * FROM "posts" Comment Load (0.2ms) SELECT "comments.*" FROM "comments" WHERE ("comments".post_id IN (1,2,3,4)) ORDER BY created_at asc) 之所以采用捷径,是因为它可以一次提取所有注释,但是它仍然不是联接(所有文档似乎都在说)。我可以加入的唯一方法是使用:joins而不是:include: Post.all(:joins => :comments) 日志显示: Post Load (6.0ms) SELECT "posts".* FROM "posts" INNER JOIN "comments" ON "posts".id = "comments".post_id 我想念什么吗?我有一个具有六个关联的应用程序,并且在一个屏幕上显示所有关联的数据。似乎最好有一个联合查询而不是6个人。我知道从性能角度来看,执行联接而不是进行单个查询并不总是总好(实际上,如果按时间花费,看起来上面的两个查询比联接要快),但是毕竟是文档我一直在阅读,我很惊讶地发现它:include不能像广告中所说的那样工作。 也许Rails的是认识到性能问题,并除非在某些情况下,不加入呢?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.