Tag: 数据库

你如何在Mongo中查询这个? (不为空)

db.mycollection.find(HAS IMAGE URL)

在PHP中正确的存储库模式devise?

前言:我试图在MVC体系结构中使用关系数据库中的存储库模式。 我最近开始在PHP中学习TDD,我意识到我的数据库与我的应用程序的其他部分密切相关。 我已经阅读了关于存储库,并使用IoC容器 “注入”到我的控制器。 非常酷的东西。 但是现在有关于存储库devise的一些实际问题。 考虑下面的例子。 <?php class DbUserRepository implements UserRepositoryInterface { protected $db; public function __construct($db) { $this->db = $db; } public function findAll() { } public function findById($id) { } public function findByName($name) { } public function create($user) { } public function remove($user) { } public function update($user) { } } 问题#1:太多领域 […]

每个开发者应该知道什么数据库?

无论我们是否喜欢,如果不是我们大多数开发人员,或者不是经常使用数据库,或者有一天可能需要使用数据库。 考虑到野外滥用和滥用的数量,以及每天出现的数据库相关问题的数量,公平地说,开发人员应该知道某些概念 – 即使他们不devise或使用数据库今天。 所以: 开发人员和其他软件专业人员应该了解的关于数据库的重要概念是什么? 回应指引: 保持你的名单短。 每个答案的一个概念是最好的。 具体 。 “数据build模”可能是一项重要技能 ,但究竟意味着什么呢? 解释你的理由。 为什么你的概念很重要? 不要只说“使用索引”。 不要陷入“最佳实践”。 说服你的听众去了解更多。 Upvote的答案你同意。 先阅读其他人的答案。 一个高排名的答案是比两个低排名的答案更有效的说法。 如果您有更多要添加,请添加评论或引用原件。 不要因为它不适用于你个人而降低某些东西。 我们都在不同的领域工作。 这里的目标是为数据库新手提供方向,以获得对数据库devise和数据库驱动开发的充分理解和全面的理解,而不是争夺最重要的头衔。

通过命令行拖放postgresql数据库

我试图删除我的数据库,并通过命令行创build一个新的。 我使用psql -U用户名login,然后执行\ connect template1,然后是DROP DATABASE数据库名; 我得到错误“数据库数据库名正在被其他用户访问”。 我closures了Apache并尝试了这一点,仍然得到这个错误。 难道我做错了什么?

数据库性能调优有哪些资源?

理解主要引擎上的数据库调优并提升您在这方面的知识有什么好的资源? 这个问题的想法是收集总是存在的资源的stream量负载,以便人们可以拥有一个“一站式”的好的,同行认可的资源的知识商店。 一般SQL 书:SQL性能调优 书:SQL调整 书:SQL的艺术 书:重构SQL应用程序 书籍:数据库调优:原理,实验和故障排除技巧 使用索引,卢克! – 开发人员的数据库性能指南 PostgreSQL ( wiki )( PGsearch ) 性能优化 快速的PostgreSQL优化 解释分析 PostgreSQL性能提示 书:PostgreSQL 9.0高性能 MySQL的 MySQL的隐藏特性 本书:高性能MySQL / 博客:高性能MySQL 博客:Xaprb(针对MySQL DBA) 神谕 你如何解释查询的解释计划? Oracle高级调优脚本 Oracle数据库性能调优指南 问汤姆 Oracle数据库SQL参考 书籍:了解Oracle性能 书:优化Oracle性能 书籍:Oracle性能故障排除 书籍:基于成本的Oracle基础知识 MS SQL Server SQL Server性能 电子书:高性能SQL Server SO问题:什么是最好的SQL Server性能优化技术? 布伦特·奥扎尔的Perf调整页面 SqlServerPedia的Perf调整页面 书:Sql Server 2008内部 如何使用SQL […]

Postgres和索引的外键和主键

Postgres会自动将索引放在外键和主键上吗? 我怎么知道 有没有一个将返回一个表中的所有索引的命令?

如何比较只有date时间DateTimetypesLinq to SQL与entity framework?

有没有办法比较Linq2Sql中的2个DateTimevariables,而忽略时间部分。 应用程序将商品存储在数据库中,并添加发布的date。 我想保持确切的时间,但仍然能够靠date本身。 我想比较12/3/89 12:43:34和12/3/89 11:22:12并且不考虑一天中的实际时间,所以这两者都被认为是相同的。 我想我可以将所有的时间都设置为00:00:00,但是实际上我想知道一天的时间,我也只想按date进行比较。 我发现一些代码有相同的问题,他们分别比较年,月和日。 有一个更好的方法吗?

我怎样才能把数据库下git(版本控制)?

我正在做一个web应用程序,我需要做一些重大更改的分支,这些更改需要更改数据库模式,所以我想把整个数据库都放在git下。 我怎么做? 有一个特定的文件夹,我可以保持在一个Git仓库? 我怎么知道哪一个? 我怎样才能确定我把正确的文件夹? 我需要确定,因为这些变化不是向后兼容的; 我不能搞砸了。 我的例子中的数据库是PostgreSQL 编辑: 有人build议采取备份,并将备份文件放在版本控制下,而不是数据库。 说实话,我发现真的很难下咽。 一定有更好的方法。 更新: 好,那么没有更好的办法,但是我还是不太确定,所以我会改变这个问题: 我想把整个数据库放在版本控制之下,我可以使用什么数据库引擎,这样我就可以将实际的数据库放在版本控制下,而不是转储了? sqlite会是友好的? 由于这只是开发环境,我可以select任何我想要的数据库。 EDIT2: 我真正想要的不是追踪我的发展历史,而是能够从我的“新的激进变化”分支切换到“当前稳定的分支”,并能够例如修复一些错误/问题等等,与当前稳定的分支。 这样,当我切换分支,数据库自动变成与我目前的分支兼容。 我并不十分关心实际的数据。

杀死一个postgresql会话/连接

我怎样才能杀死我所有的postgresql连接? 我正在尝试一个rake db:drop但我得到: ERROR: database "database_name" is being accessed by other users DETAIL: There are 1 other session(s) using the database. 我尝试closures从ps -ef | grep postgres看到的进程 ps -ef | grep postgres但是这也不起作用: kill: kill 2358 failed: operation not permitted

B树和B +树之间的差异

在B树中 ,可以将内存和叶节点中的密钥和数据都存储,但在b +树中, 只能将数据存储在叶节点中 。 在b +树中做上述有没有什么好处? 为什么不在所有地方都使用b树而不是b +树,直观地看起来好多了? 我的意思是,为什么你需要在b +树中复制密钥(数据)?