Tag: 数据库

使用哪一个,int或Integer

我需要创build一个数据传输对象,我将使用它来存储从数据库检索的logging。 在这个数据传输对象中,我需要声明一个数字字段。 对于哪一个更好 – int或Integer 如果我将字段定义为整型,那么如果我要从DB中检索超过2000条logging,将会因为“整型”types而对性能产生影响吗? 提前致谢。

我如何testingRails迁移?

我想在运行我写的迁移之后testing某些条件。 目前最好的方法是什么? 为了使这个具体:我做了一个迁移,将一列添加到模型,并给它一个默认值。 但是我忘了更新该模型的所有预先存在的实例,使其具有新列的默认值。 我现有的testing都不会抓住这个,因为它们都是从一个全新的数据库开始,并添加新的数据,这些数据将会有默认值。 但是如果我推动生产,我知道事情会打破,我希望我的testing告诉我。 我发现http://spin.atomicobject.com/2007/02/27/migration-testing-in-rails/ ,但还没有尝试过。 这是非常古老的。 这是最先进的吗?

我如何设置MySQL使用的默认存储引擎?

我一直在编写SQL来创build一个MySQL数据库,其中包含一些默认选项,包括字符集和sorting规则。 是否可以将此数据库中表的默认存储引擎设置为InnoDB? 我一直在查看MySQL 5.1手册,我发现ENGINE=innodb语句会附加到CREATE TABLE语句中,但是我还没有find与CREATE DATABASE语句相关的任何内容。 有没有一个正常的方法来做到这一点,作为数据库创build的一部分,还是需要在逐个表的基础上指定?

MySQL中区分大小写的sorting规则

MySQL中是否有任何支持区分大小写的整理types? 我在MySQL中有所有types的sorting规则,在名称末尾都有_ci,因此它们是不区分大小写的sorting规则。 先谢谢你。

在redis中,我如何删除密钥?

我想删除匹配“用户*”的密钥。 我怎么做在redis命令行?

testing用户数据(假数据)

我可以在哪里获得,或者如何生成可用于testing应用程序的伪造用户数据(名称,电子邮件地址,位置等)的大型格式集合? 它可以是明显的假的,这将仅限于开发服务器。 但是我相信有什么比我能想到的更好。

在数据框子集时select未定义的列

我有一个数据框, str(data)来显示更多关于我的数据框的结果如下: > str(data) 'data.frame': 153 obs. of 6 variables: $ Ozone : int 41 36 12 18 NA 28 23 19 8 NA … $ Solar.R: int 190 118 149 313 NA NA 299 99 19 194 … $ Wind : num 7.4 8 12.6 11.5 14.3 14.9 8.6 13.8 20.1 8.6 … $ […]

当整数列上的auto_increment达到数据库中的max_value时会发生什么?

我正在实现一个数据库应用程序,我将同时使用JavaDB和MySQL作为数据库。 我在我的表中有一个ID列作为types​​的整数,我使用数据库的auto_increment函数的值。 但是,当我得到超过2(或4)亿个post和整数是不够的? 是整数溢出,并继续或是一个exception抛出,我可以处理? 是的,我可以改变只要数据types,但如何检查什么时候需要? 我认为,如果我使用long作为ID列的数据types,那么获取last_inserted_id()函数会有问题。

为什么外键在理论上比实践中更多?

当你研究关系理论时,外键当然是强制性的。 但实际上,在我工作的每个地方,表格产品和连接总是通过在查询中明确指定键来完成的,而不是依赖DBMS中的外键。 这样,当然可以按字段join两个表,这些字段不是外键,会产生意想不到的结果。 你为什么这么认为? DBMSs不应该强制连接和产品只能通过外键进行吗? 编辑:感谢所有的答案。 现在很清楚,FK的主要原因是参考完整性。 但是如果你devise一个数据库,模型中的所有关系(ERD中的IE箭头)至less在理论上会成为外键,无论你在数据库pipe理系统中如何定义它们,它们在语义上都是FK。 我无法想象需要通过不是FK的字段来连接表。 有人可以举一个有意义的例子吗? PS:我意识到N:M关系成为单独的表而不是外键的事实,为简单起见,只是省略了它。

如何缩小我的SQL Server数据库?

我有一个大小为1.9Gb数据库的数据库,MSDE2000不允许超过2.0Gb的数据库 我需要缩小这个数据库(和许多这样的客户端位置)。 我发现并删除了1000多个被认为不需要的logging中的100多个logging:这些logging在数据库中的一些主要(最大)表中占很大比例。 因此,假设现在可以检索的空间是合理的。 所以现在我需要缩小数据库来弥补缺失的logging。 我执行DBCC ShrinkDatabase('MyDB') ……没有效果。 我已经尝试了MSSMS提供的各种缩小设施….仍然没有效果。 我已经备份了数据库,并恢复它…仍然没有效果。 还有1.9Gb 为什么? 无论我最终发现什么程序都需要在客户端机器上重放,并且只能访问OSQL或类似的东西。