Tag: 数据库

如何清空一个redis数据库?

在过去的几天里,我一直在使用redis(并添加一些乐趣),我想知道是否有一种方法来清空数据库(删除集合,现有的密钥….) 。 在我的testing中,我创build了很多成员,甚至创build了一些我不记得名字的集合(我怎么能列出这些家伙?)。 任何想法如何摆脱所有这些?

无法启用约束。 一行或多行包含违反非空,唯一或外键约束的值

我做了一个外连接,并成功地在informix数据库中执行,但是在我的代码中出现以下exception: DataTable dt = TeachingLoadDAL.GetCoursesWithEvalState(i, bat); 无法启用约束。 一行或多行包含违反非空,唯一或外键约束的值。 我知道这个问题,但我不知道如何解决这个问题。 我使外部联接的第二个表包含一个复合主键,在以前的外部联接查询中为空。 编辑: SELECT UNIQUE a.crs_e, a.crs_e || '/ ' || a.crst crs_name, b.period, b.crscls, c.crsday, c.from_lect, c.to_lect, c.to_lect – c.from_lect + 1 Subtraction, c.lect_kind, e.eval, e.batch_no, e.crsnum, e.lect_code, e.prof_course FROM rlm1course a, rfc14crsgrp b, ckj1table c, mnltablelectev d, OUTER(cc1assiscrseval e) WHERE a.crsnum = b.crsnum AND b.crsnum […]

弹性search,多个索引与一个索引和不同数据集的types?

我有一个使用MVC模式开发的应用程序,我想现在索引它的多个模型,这意味着每个模型有不同的数据结构。 使用多重索引更好吗,每个模型使用多个索引,还是每个模型的索引都有相同的types? 这两种方式也需要一个不同的search查询,我认为。 我刚开始这个 如果数据集很小或很大,那么这两个概念之间在性能上会有差异吗? 如果有人可以为我推荐一些好的样本数据,我会自己testing第二个问题。

重置数据库(全部清除),然后种子数据库

是否有一个rake命令来清除数据库表中的数据? 如何创build一个数据库:种子脚本来预填充数据到我的表?

如何列出表格中的所有列?

对于各种stream行的数据库系统,如何列出表中的所有列?

在MySQL中查找具有相同值的行

在[成员]表中,某些行的email列的值相同。 login_id | email ———|——————— john | john123@hotmail.com peter | peter456@gmail.com johnny | john123@hotmail.com … 有些人使用了不同的login_id,但电子邮件地址相同,没有设置唯一的约束。 现在我需要find这些行,看看是否应该删除。 我应该用什么SQL语句来查找这些行? (MySQL 5)

很好的理由不使用关系数据库?

您能否指出其他数据存储工具,并给出充分的理由使用它们而不是古老的关系数据库? 在我看来,大多数应用程序很less使用SQL的全部function – 看看如何构build一个无SQL的应用程序会很有趣。

软删除一个好主意?

软删除一个好主意或坏主意? 而不是实际删除数据库中的logging,只需将其标记为IsDeleted = true ,并在恢复logging时,可以将其标记为False 。 这是一个好主意吗? 将物理删除logging,然后将其移动到归档数据库是更好的办法,如果用户想要logging,那么软件会查找归档中的logging并重新创buildlogging?

如何将Redis数据库从一台服务器移动到另一台服务器?

我目前有一个运行在云实例上的live redis服务器,我想将这个redis服务器迁移到一个新的云实例,并将该实例用作我的新redis服务器。 如果是MySQL,我会从旧服务器导出数据库并将其导入新服务器。 我应该如何使用redis来做到这一点? PS:我不打算设置复制。 我想完全迁移redis服务器到一个新的实例。

为什么我们需要实体对象?

对于目前公认的企业应用程序devise模式的优点,我真的需要看到一些诚实而深思熟虑的辩论。 我不相信实体对象应该存在。 通过实体对象,我指的是我们倾向于为我们的应用程序构build的典型事物,如“人员”,“账户”,“订单”等。 我目前的devise理念是这样的: 所有数据库访问都必须通过存储过程完成。 无论何时需要数据,调用存储过程并遍历SqlDataReader或DataTable中的行 (注意:我也用Java EE构build了企业应用程序,请将java代码replace为我的.NET示例) 我不是反OO。 我为了不同的目的写了大量的类,而不是实体。 我承认,我写的很大一部分类是静态辅助类。 我不是在玩玩具。 我正在谈论的是跨多台机器部署的大量大量事务性应用程序。 Web应用程序,Windows服务,Web服务,B2C交互,你的名字。 我使用了OR映射器。 我写了几个。 我已经使用了Java EE堆栈,CSLA和一些其他的等价物。 我不仅使用它们,而且在生产环境中积极开发和维护这些应用程序。 我得出了一个经过testing的结论,即实体对象正在阻碍我们,没有它们,我们的生活将变得如此简单。 考虑一下这个简单的例子:你得到了一个关于你的应用程序中某个页面的支持调用不能正常工作,也许其中一个字段没有被保持。 使用我的模型,分配到查找问题的开发人员只打开3个文件 。 一个ASPX,一个ASPX.CS和一个带有存储过程的SQL文件。 这个问题可能是存储过程调用中缺less的参数,需要花费几分钟的时间来解决。 但是对于任何实体模型,您总是会启动debugging器,开始逐步执​​行代码,最终可能会在Visual Studio中打开15-20个文件。 当你下到堆栈底部时,你忘记了开始的地方。 我们一次只能把这么多东西留在脑海里。 软件非常复杂,无需添加任何不必要的图层。 开发的复杂性和故障排除只是我抱怨的一个方面。 现在我们来谈谈可扩展性。 开发人员是否意识到,每次编写或修改任何与数据库交互的代码时,他们都需要对数据库的确切影响进行深入的分析。 而不仅仅是开发副本,我的意思是生产的模仿,所以你可以看到,你现在需要的对象的额外的列只是使当前的查询计划失效,并在1秒内运行的报告现在需要2分钟,只是因为你添加了一列到select列表? 事实certificate,你现在需要的索引是如此之大,DBA将不得不修改你的文件的物理布局? 如果让人们从抽象的物理数据存储区离得太远,他们将对需要扩展的应用程序造成严重破坏。 我不是一个狂热者。 我可以相信,如果我错了,也许我是,因为有这样一个强大的推动LINQ的SQL,ADO.NET的EF,Hibernate的,Java EE的等请考虑通过您的回应,如果我失去了一些东西真的想知道这是什么,为什么我应该改变我的想法。 [编辑] 看起来这个问题突然激活了,所以现在我们有了新的评论function,我直接评论了几个答案。 感谢您的回复,我认为这是一个健康的讨论。 我应该更清楚地说我正在谈论企业应用程序。 我真的不能评论某人在桌面上运行的游戏或移动应用程序。 有一件事我不得不放在这里,回答几个类似的答案:正交性和关注点的分离经常被引用为实体/ ORM的理由。 对我而言,存储过程是我能想到的关注点分离的最好例子。 如果你不允许所有其他的访问数据库,而不是通过存储过程,那么理论上可以重新devise你的整个数据模型,而不会破坏任何代码,只要你维护存储过程的input和输出即可。 他们是合同编程的完美例子(只要你避免“select*”并logging结果集)。 问一个已经在这个行业工作了很长时间的人,他曾经用过很长时间的应用程序:在数据库已经存在的时候,有多less应用程序和UI层来了? 当有4个或5个不同的持久层生成SQL来获取数据时,调整和重构数据库有多困难? 你不能改变任何东西! ORM或任何生成SQL的代码都会locking您的数据库 。