我的团队正在与使用Solr作为search索引的第三方CMS进行合作。 我注意到,似乎作者正在使用Solr作为sorting数据库,每个返回的文档都包含两个字段: Solr文档ID(基本上是一个类名和数据库ID) 整个对象的XML表示 所以基本上它运行一个针对Solr的search,下载对象的XML表示,然后从XML实例化对象,而不是使用id在数据库中查找它。 我的直觉告诉我这是一个不好的做法。 Solr是一个search索引,而不是数据库…所以对我来说,执行我们对Solr的复杂search,获取文档ID,然后从数据库中拉出相应的行更有意义。 当前的实现是否完美无缺,还是有数据支持重构的时机? 编辑:当我说“XML表示” – 我的意思是一个存储的字段包含所有对象的属性的XMLstring,而不是多个存储的字段。
首先,我知道这个问题 ,并且(使用GUID)的build议不适用于我的情况。 我想要简单的UID,以便我的用户可以通过电话轻松地交stream这些信息: 你好,1584号订单有问题 而不是 你好,我订单4daz33-d4gerz384867-8234878-14有一个问题 我想要那些是唯一的(数据库范围),因为我有几种不同的'对象'…有订单ID,交货ID和帐单ID,并且因为这些关系之间没有一对一的关系,我没有办法猜测ID是指什么types的对象。 借助数据库范围内唯一的ID,我可以立即知道客户所指的是什么对象。 我的用户只需在search工具中input一个ID,我就可以省去额外的点击,进一步完善正在查找的内容。 我目前的想法是使用具有不同种子1,2,3等的标识列,并且增量值为100。 这提出了一些问题,但: 如果我最终得到超过100个对象types呢? 授予我可以使用1000或10000,但不能很好地“扩散” 种子是否有可能“丢失”(在复制期间,数据库问题等)? 更普遍的是,还有其他问题我应该知道吗? 是否有可能使用一个非整数(我当前使用bigints)作为标识列,以便我可以用表示对象types的东西的ID前缀? (例如一个varchar列) 使用一个只包含一个标识列的“主表”,也许是一个对象types,这样在每当需要一个新的想法时,我就可以在其中插入一行。 我觉得这可能有点矫枉过正,恐怕会让我所有的插入请求变得复杂。 再加上我不能在不查看数据库的情况下确定对象types 还有其他巧妙的方法来解决我的问题?
在某些情况下,在生产环境中运行UPDATE语句可以节省一天的时间。 然而,borked更新可能比最初的问题更糟糕。 在使用testing数据库之前,有哪些选项可以告诉更新语句在运行之前会做什么?
我想创build一个不存在的数据库通过JDBC。 不像MySQL,PostgreSQL不支持create if not exists语法。 什么是完成这个最好的方法? 应用程序不知道数据库是否存在。 它应该检查,如果数据库存在,应该使用它。 所以连接到所需的数据库是有道理的,如果由于数据库不存在而导致连接失败,它应该创build新的数据库(通过连接到默认的postgres数据库)。 我检查了Postgres返回的错误代码,但是我找不到任何相同的代码。 另一种方法是连接到postgres数据库,并检查是否存在所需的数据库并采取相应的措施。 第二个是有点繁琐的工作。 有什么办法可以在Postgres中实现这个function吗?
Oracle有什么看法?
我刚刚注册了一个网站来购买一些商品,当我试图input我的(合理安全的)密码时,我被告知它太长了,我应该input5到10个字符之间的密码! 这是什么意思? 谁做这样的决定? 理想的密码当然是一个非常漫长而复杂的密码? 为什么人们坚持试图限制你可以使用的密码types? 你有没有实现login到网站? 是用于安全目的的login(例如购买商品)。 你对用户的密码有什么限制(如果有的话)? 你做这个决定的原因是什么?
你最喜欢的开源数据库devise/build模工具是什么? 我正在寻找一个支持几个数据库,特别是火鸟SQL,但我不能find一个谷歌。
在Visual Studio 2013中,不再有在WebPages(WebMatrix)网站中创build.sdf SQL Server Compact数据库的选项。 我不再能够在Visual Studio中查看.sdf数据库文件。 我下载了最新版本的WebMatrix来打开我的.sdf数据库,但是当我打开我的网站时,WebMatrix崩溃了。 当我创build一个新的空白网站,并添加现有的文件,它崩溃。 我search了几天的方式来查看和编辑我的.sdf数据库,没有任何工作。 我不能再得到Navicat SQL Server应用程序来打开数据库。 我无法让LinqPad打开.sdf数据库文件,我无法使用Compact Viewer打开或编辑.sdf数据库。 我可以用SqlCEToolbox40.exe 打开 .sdf数据库,但它只显示前200行,它不会让我编辑表。 现在我完全难住了。 如何查看和编辑.sdf数据库文件?
我知道MongoDB接受和检索纪录作为JSON/BSON objects ,但它如何实际存储这些文件在磁盘上? 它们是以单个*.json文件的集合还是作为一个大文件存储的? 对于后者,我有一个预感,因为MongoDB文档声明它在ext4/xfs系统上效果最好,这在处理大文件方面更好。 谁能确认?
关于在数据库中对数据进行版本控制,我已经阅读了几个关于SO的问题(比如这个 )。 我喜欢提到的一些build议。 我有最长的时间想(需要)修改我的许多表,但从来没有解决它。 作为一名程序员,只有简单的数据库工作,我想知道如何去做这件事。 我没有要求SQL语法中的实际解决scheme。 我终究可以为自己弄清楚(或者在时间到了的时候贴出来)。 我只是要求人们评论他们如何去做,如果我要修改数以亿计的logging,那么可能会出现任何潜在的性能问题。 或者任何其他的build议,只要它是基于下面的例子。 给一个简单的例子: Person ———————————————— ID UINT NOT NULL, PersonID UINT NOT NULL, Name VARCHAR(200) NOT NULL, DOB DATE NOT NULL, Email VARCHAR(100) NOT NULL Audit ———————————————— ID UINT NOT NULL, UserID UINT NOT NULL, — Who TableName VARCHAR(50) NOT NULL, — What OldRecID UINT NOT NULL, — […]