Tag: 数据库

如何收缩/清除MySQL中的ibdata1文件

我在本地主机上使用MySQL作为“查询工具”来执行R中的统计信息,也就是每次运行一个R脚本时,我创build一个新的数据库(A),创build一个新的表(B),将数据导入B ,提交一个查询来获得我所需要的,然后我放下B并放下A. 它对我来说工作得很好,但是我意识到ibdata文件的大小正在迅速增加,我没有在MySQL中存储任何内容,但ibdata1文件已经超过了100 MB。 我正在使用或多或less默认的MySQL设置的设置,是否有一种方法可以自动缩小/清除ibdata1文件一段固定的时间后?

MongoDB或CouchDB – 适合生产?

我想知道是否有人可以告诉我,如果MongoDB或CouchDB准备好生产环境。 我现在正在研究这些存储解决scheme(我现在很青睐MongoDB),但是这些项目还相当年轻,所以我预计我将不得不非常努力地说服我的经理采用这种方式新技术。 我想知道的是: 谁正在生产环境中使用MongoDB或CouchDB? 你如何使用MongoDB / CouchDB? 当你采用这种新的存储机制时,你遇到了什么问题(如果有的话)(你是如何克服的)? 你是如何处理任何你必须处理的迁移问题? 对于这些您想分享的解决scheme,您有没有好的/不好的经验?

SQLite的性能基准 – 为什么是:内存:这么慢…只有磁盘的1.5倍速度?

为什么是:内存:在sqlite这么慢? 我一直在试图看看是否有任何使用内存中的sqlite与基于磁盘的sqlite获得的性能改进。 基本上我想交换启动时间和内存来获得非常快速的查询,在应用程序的过程中没有打到磁盘。 但是,下面的基准testing结果只是提高了速度的1.5倍。 在这里,我生成了1M行随机数据,并将其加载到同一个表的磁盘和基于内存的版本中。 然后我在这两个dbs上运行随机查询,返回约300k大小的集合。 我预计基于内存的版本要快得多,但如前所述,我只能获得1.5倍的加速。 我尝试了几个其他大小的数据库和查询集; 内存的好处:似乎随着数据库中行数的增加而增加。 我不确定为什么这个优势太小,尽pipe我有一些假设: 所使用的表格不够大(在行中):内存:一个巨大的赢家 更多的连接/表格将使得:内存:优势更加明显 在连接或操作系统级别上存在某种caching,从而可以以某种方式访问​​先前的结果,从而破坏基准 有什么隐藏的磁盘访问正在进行,我没有看到(我还没有尝试LSF,但我没有closuresPRAGMA的日记) 我在这里做错了什么? 任何想法,为什么:内存:不产生几乎即时查找? 这是基准: ==> sqlite_memory_vs_disk_benchmark.py <== #!/usr/bin/env python """Attempt to see whether :memory: offers significant performance benefits. """ import os import time import sqlite3 import numpy as np def load_mat(conn,mat): c = conn.cursor() #Try to avoid hitting disk, trading safety for […]

数据库中电子邮件地址的最佳长度是多less?

这里是我查询的一部分,反映了EMAIL_ADDRESS列的数据types和属性: EMAIL_ADDRESS CHARACTER VARYING(20) NOT NULL, 然而, 约翰·桑德斯使用VARYING(256) 。 这表明我不一定正确地理解VARYING。 据我所知,电子邮件地址的长度是20个字符,而Jodn是256个字符。 John的代码中的上下文 CREATE TABLE so."User" ( USER_ID SERIAL NOT NULL, USER_NAME CHARACTER VARYING(50) NOT NULL, EMAIL_ADDRESS CHARACTER VARYING(256) NOT NULL, // Here HASHED_PASSWORD so.HashedPassword NOT NULL, OPEN_ID CHARACTER VARYING(512), A_MODERATOR BOOLEAN, LOGGED_IN BOOLEAN, HAS_BEEN_SENT_A_MODERATOR_MESSAGE BOOLEAN, CONSTRAINT User_PK PRIMARY KEY(USER_ID) ); 我从来没有见过超过20个字符的电子邮件地址,普通人使用。 数据库中电子邮件地址的最佳长度是多less?

如何在PostgreSQL查询中显示行号?

我想显示PostgreSQL查询返回的每个logging的观察编号。 我认为在8.4窗口函数中可以执行这个function。

Google Alerts API?

似乎没有Google Alerts API。 首先,除了parsingGoogle发送给您的电子邮件的文本之外,您如何将Google快讯信息放入数据库中? 如果你必须parsing文本,你将如何parsing出电子邮件的相关部分?

JPA最快的方式来在持久性期间忽略一个字段?

我基本上正在寻找一个“@Ignore”types的注释,我可以阻止一个特定的领域被持久化。 这怎么能实现?

用简单的英文标准化

我理解数据库规范化的概念,但总是很难用简单的英语来解释它 – 特别是面试。 我已经阅读了维基百科的文章,但仍然很难向非开发人员解释这个概念。 “devise一个数据库的方式不要得到重复的数据”是首先想到的。 有没有人有一个很好的方式来解释简单的英文数据库规范化的概念? 什么是一些很好的例子来显示第一,第二和第三范式之间的区别? 说你去面试,这个人问: 解释规范化的概念,以及如何devise规范化的数据库。 面试官要找的关键是什么?

数据库中已经有一个名为对象的对象

软件包pipe理器控制台中的Update-Database失败。 我已经使用了Entity Framework 6.x和代码优先的方法。 错误是 “数据库中已经有一个名为'AboutUs'的对象。” 我该如何解决这个问题? internal sealed class Configuration : DbMigrationsConfiguration<Jahan.Blog.Web.Mvc.Models.JahanBlogDbContext> { public Configuration() { AutomaticMigrationsEnabled = true; AutomaticMigrationDataLossAllowed = false; } protected override void Seed(Jahan.Blog.Web.Mvc.Models.JahanBlogDbContext context) { } } 我的DbContext是: public class JahanBlogDbContext : IdentityDbContext<User, Role, int, UserLogin, UserRole, UserClaim> { public JahanBlogDbContext() : base("name=JahanBlogDbConnectionString") { Database.SetInitializer(new DropCreateDatabaseIfModelChanges<JahanBlogDbContext>()); } protected override void […]

如何检查Android SQLite数据库中是否存在表?

我有一个android应用程序,需要检查数据库中是否有logging,如果没有,处理一些事情并最终插入它,如果数据存在,只需从数据库中读取数据。 我使用SQLiteOpenHelper的子类来创build并获得一个SQLiteDatabase的可重写实例,我认为自动照顾创build该表,如果它不存在(因为要做的代码是在onCreate(… ) 方法)。 但是,当表尚不存在,第一种方法运行SQLiteDatabase对象我有一个调用查询(…),我的logcat显示错误“我/数据库(26434):sqlite返回:错误代码= 1,味精=没有这样的表:appdata“,果然,没有创buildappdata表。 任何想法为什么? 我正在寻找一种方法来testing表是否存在(因为如果不存在,数据当然不在其中,我不需要读取它,直到我写入它,这似乎创build表正确),或确保它被创build的方式,只是空的,及时的第一次调用查询(…) 编辑 这是后面的两个答案发布: 我想我可能已经find了问题。 由于某种原因,我决定为每个表创build一个不同的SQLiteOpenHelper,尽pipe它们都访问同一个数据库文件。 我认为重构该代码只使用一个OpenHelper,并创build两个表内的onCreate可能会更好地工作…