Tag: 数据库

如何耙db:下拉和耙db:在Heroku上创build?

可能重复: 如何在heroku中清空数据库 我在Heroku上有一个Postgres数据库。 这是免费的testing版之一。 在本地testing时,我经常运行rake db:drop && rake db:create && rake db:migrate作为重置数据库的一种方法。 但是,当我尝试在Heroku上运行这个时,我得到错误: Couldn't drop mydatabaseid : #<PG::Error: FATAL: permission denied for database "postgres" DETAIL: User does not have CONNECT privilege. 呃,那么,我该如何彻底重置我的数据库,迁移和其他一切?

在MySQL中更改表引擎

我正在使用mysql和mysql工作台。 我用innodb引擎创build了5个表。 我检查了他们的引擎,并且在我插入数据之前,它是innodb。 我从5个MyISAM表插入数据,现在我的innodb表是MyISAM。 我无法改变他们。 我使用了alter table engine = innodb,但是它不起作用。 我只是想知道如何解决这个问题。 非常感谢。

为什么数据库devise者不能使IDENTITY列从最小值而不是1开始?

正如我们所知,在Sql Server中, IDENTITY (n,m)表示值将从n开始,增量值为m ,但是我注意到所有的数据库devise者都将Identity列设置为IDENTITY(1,1) ,而没有利用从(-2,147,483,648) to (2,147,483,647)的所有int数据types的值, 我打算将所有标识列设置为IDENTITY (-2,147,483,648, 1) (标识列对应用程序用户是隐藏的)。 这是一个好主意吗 ?

如何删除SQL Server中的外键约束?

我想从另一个表中删除外键,所以我可以插入我select的值。 我是新的数据库,所以请告诉我正确的SQL查询删除或删除外键值。

如何将数组存储到MySQL?

有没有办法将数组存储到MySQL字段? 我正在创build一个评论评级系统,所以我想存储用户id的数组,以防止多个投票。 我将创build一个新的表,其中包含评论ID和对此评论投票的用户ID数组。 比我join评论表和这张表,并检查当前的用户ID是否存在在选民数组或注意。 如果它比投票图标将被禁用。 我想我会阻止在这种方式在循环中使用mysql查询。 你碰巧知道更好的方法吗?

无法通过phpmyadmin文件大小导入数据库太大

我一直在试图通过phpMyAdmin导入数据库。 我的数据库文件是a.sql ,它的大小是1.2 GB我试图导入本地和phpMyAdmin说: 您可能试图上传太大的文件。 请参阅文档以解决此限制的方法。 请帮助我真的需要这个工作。

强弱实体types的示例

我试图在谷歌上看到一个弱而强的实体types的体面的解释,但我还没有完全理解它们。 有人能给我一个强和弱的实体types的例子吗?

在OSX上安装和运行MongoDB

如果有人能在这里提供一些见解,我将非常感激。 我是MongoDB的新手,对于命令行(相对)是新手。 我有一个express / node.js应用程序在MongoDB本地成功运行,但重新启动我的电脑后,我试图重新启动Mongo服务器,它开始给出错误,不会启动。 从那以后,我重新安装了Mongo几次才发现相同的错误发生。 这是我收到的: privee:mongodb-osx-x86_64-2.4.6 jonlinton$ ./bin/mongo MongoDB shell version: 2.4.6 connecting to: test Mon Aug 26 14:48:47.168 Error: couldn't connect to server 127.0.0.1:27017 at src/mongo/shell/mongo.js:145 exception: connect failed 我错过了一个步骤? 我应该创build一个configuration文件? 一些基本的指导将是非常有帮助的。 在此先感谢您的任何见解。

由于索引,SQLite插入速度随着logging数量的增加而减慢

原来的问题 背景 众所周知,SQLite 需要进行微调,以达到50k插入/秒的插入速度。 这里有很多关于插入速度慢的问题和大量的build议和基准。 也有声称SQLite可以处理大量的数据 ,报告的50+ GB不会导致正确的设置任何问题。 我遵循这里和其他地方的build议,以达到这些速度,我很高兴35k-45k插入/秒。 我所遇到的问题是,所有的基准testing都只能certificate快速插入速度<1mlogging。 我所看到的是插入速度似乎与桌子大小成反比 。 问题 我的用例需要在[x_id, y_id, z_id]存储500m到1b元组( [x_id, y_id, z_id] )几年(1m行/天)。 值是1到2,000,000之间的所有整数ID。 z_id上有一个索引。 前10M行的性能是非常好的,大约35K插入/秒,但是当表具有~20m行时,性能开始受损。 我现在看到大约100个插入/秒。 桌子的大小不是特别大。 行20米,磁盘大小约500MB。 该项目是用Perl编写的。 题 这是在SQLite中的大表的现实,还是有任何秘密保持高行插入率> 10米行? 已知的解决方法,如果可能,我想避免 删除索引,添加logging,重新索引 :这是一个很好的解决方法,但在更新过程中数据库仍然需要使用时不起作用。 这将无法使数据库完全无法访问x分钟/天 把表分成更小的子表/文件 :这将在短期内工作,我已经尝试过了。 问题是,我需要能够从整个历史logging中检索数据,这意味着最终我将达到62个表附件的限制。 附加,在临时表中收集结果,每个请求分离数百次似乎是很多工作和开销,但是如果没有其他select,我会尝试。 设置 SQLITE_FCNTL_CHUNK_SIZE :我不知道C( SQLITE_FCNTL_CHUNK_SIZE ),所以我宁愿不学习它,只是为了完成这个。 我看不出用Perl设置这个参数的方法。 UPDATE 虽然SQLite声称它能够处理大型数据集,但是Tim还是build议索引导致插入时间越来越慢,我使用以下设置进行了基准比较: 插行: 1400万 提交批量大小: 50,000条logging cache_size编译指示: 10,000 page_size pragma: 4,096 […]

初学者的数据库最佳实践

所以,我是一个相当新的程序员,他的工作经验非常less,正在攻读大学生科学与技术学位。 在为我的程序寻找实习型工作时,我注意到我从几位教授那里听到的“使用数据库占现代计算机科学工作的90%” – 看起来确实如此。 然而,我的课程直到3年级才有真正的数据库课程,所以我至less要自己学习一些东西。 对于像我这样的人来说,我在networking和互联网上看到的东西很less。 似乎有大量关于如何读取和写入数据库中的数据的机制的教程,但关于相关的最佳实践很less。 为了说明我在说什么,并帮助解决我的实际问题,这里是在互联网上很容易find的东西 : public static void Main () { using (var conn = new OdbcConnection()) { var command = new OdbcCommand(); command.Connection = conn; command.CommandText = "SELECT * FROM Customer WHERE id = 1"; var dbAdapter = new OdbcDataAdapter(); dbAdapter.SelectCommand = command; var results = new DataTable(); dbAdapter.Fill(results); } […]