Questions tagged «sql»

结构化查询语言(SQL)是用于查询数据库的语言。问题应包括代码示例,表结构,示例数据以及正在使用的DBMS实现的标签(例如MySQL,PostgreSQL,Oracle,MS SQL Server,IBM DB2等)。如果您的问题仅涉及特定的DBMS(使用特定的扩展名/功能),请改用该DBMS的标签。使用SQL标记的问题的答案应使用ISO / IEC标准SQL。

2
PostgreSQL表太大了?
我正在为我的公司进行RoR项目的设计,而我们的开发团队已经对设计(尤其是数据库)进行了一些辩论。 我们有一个Message需要持久化的模型。这是一个非常小的模型,除了id之外只有三个db列,但是当我们投入生产时,可能会有很多这样的模型。我们每天要查询多达1,000,000次插入。只能通过可索引的两个外键来搜索模型。同样,不必删除模型,但是一旦它们使用了大约三个月,我们也不必保留它们。 因此,我们想知道的是,在Postgres中实现此表是否会带来严重的性能问题?有没有人有使用大型SQL数据库的经验来告诉我们这是否会成为问题?如果是这样,我们应该选择哪种选择?

11
LINQ to Entities无法识别方法'System.String ToString()',并且该方法无法转换为商店表达式
我正在将一些东西从一台mysql服务器迁移到一台sql服务器,但是我不知道如何使此代码起作用: using (var context = new Context()) { ... foreach (var item in collection) { IQueryable<entity> pages = from p in context.pages where p.Serial == item.Key.ToString() select p; foreach (var page in pages) { DataManager.AddPageToDocument(page, item.Value); } } Console.WriteLine("Done!"); Console.Read(); } 当它进入第二秒时,foreach (var page in pages)它抛出一个异常,说: LINQ to Entities无法识别方法'System.String ToString()',该方法无法转换为商店表达式。 …
126 c#  mysql  sql  linq 

3
SQL(MySQL)与NoSQL(CouchDB)[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 改善这个问题 我正在设计一个高度可扩展的应用程序,该应用程序必须存储大量数据。仅举例来说,它将存储大量有关用户的信息,然后存储诸如消息,注释等之类的东西。我以前一直使用MySQL,但是现在我被迫尝试一些新的东西,例如,couchdb或类似的非SQL的东西。 有人对此有任何想法或指导吗?
126 mysql  sql  nosql  couchdb 

29
最喜欢的性能调优技巧
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 当您有需要性能调整的查询或存储过程时,首先要尝试哪些操作?

15
SQL存储过程中的动态排序
我过去花了数小时研究这个问题。在我看来,现代RDBMS解决方案应该解决此问题,但是到目前为止,我还没有发现任何能够真正解决我认为在任何具有数据库后端的Web或Windows应用程序中非常普遍的需求的东西。 我说的是动态排序。在我的幻想世界中,它应该像下面这样简单: ORDER BY @sortCol1, @sortCol2 这是新手SQL和存储过程开发人员在整个Internet论坛上给出的规范示例。“为什么这不可能?” 他们问。最终,总是有人总会向他们讲授存储过程的编译性质,一般的执行计划以及无法将参数直接放入ORDER BY子句的各种其他原因。 我知道你们中有些人已经在想:“那么,让客户来进行分类。” 自然,这会减轻数据库的工作量。在我们的案例中,我们的数据库服务器甚至在99%的时间内都不会汗水,甚至还不是多核的,也不是每6个月进行一次其他的系统架构改进。仅出于这个原因,让我们的数据库处理排序将不是问题。此外,数据库非常擅长分类。他们为此进行了优化,并且已经花了好几年的时间来实现它,其实现语言令人难以置信的灵活,直观和简单,最重要的是,任何初学者SQL编写者都知道如何做,更重要的是,他们知道如何进行编辑,进行更改,进行维护等。当您的数据库需要负担很多费用而您只想简化(并缩短!)开发时间时,这似乎是一个显而易见的选择。 然后是网络问题。我一直在使用JavaScript进行HTML表格的客户端排序,但是它们不可避免地不够灵活,无法满足我的需求,而且,由于我的数据库没有负担过多,并且可以非常轻松地进行排序,因此我很难证明重新编写或自己拥有JavaScript分选器所需的时间。服务器端排序通常也是如此,尽管它可能已经比JavaScript更受青睐。我不是特别喜欢DataSet开销的人,所以起诉我。 但这又回到了不可能的点,或者说不容易。对于以前的系统,我已经完成了一种获得动态排序的骇人听闻的破解方法。它不是很漂亮,也不是直观,简单或灵活的,初学者SQL编写器将在几秒钟内丢失。看起来这已经不是“解决方案”,而是“复杂性”。 以下示例无意提供任何种类的最佳实践或良好的编码风格,也不表示我作为T-SQL程序员的能力。它们就是它们的样子,我完全承认它们是令人困惑的,糟糕的形式,而且仅仅是简单的破解。 我们将一个整数值作为参数传递给存储过程(我们称该参数为“ sort”),然后从中确定一堆其他变量。例如...假设sort为1(或默认值): DECLARE @sortCol1 AS varchar(20) DECLARE @sortCol2 AS varchar(20) DECLARE @dir1 AS varchar(20) DECLARE @dir2 AS varchar(20) DECLARE @col1 AS varchar(20) DECLARE @col2 AS varchar(20) SET @col1 = 'storagedatetime'; SET @col2 = 'vehicleid'; IF @sort …


18
位置子句中的未知列
我有一个简单的查询: SELECT u_name AS user_name FROM users WHERE user_name = "john"; 我懂了Unknown Column 'user_name' in where clause。'user_name'即使在之后,我是否也不能在声明的其他部分引用select 'u_name as user_name'?

6
SQL Server数据库中的身份增量跃升
在我的其中一个表Fee中,SQL Server 2012数据库标识增量的列“ ReceiptNo”突然开始跳到100s,而不是1,具体取决于以下两件事。 如果是1205446,则跳至1206306;如果是1206321,则跳至1207306;如果是1207314,则跳至1208306。如下图所示发生。 重新启动计算机时会出现此问题

6
PostgreSQL-重命名数据库
我需要重命名数据库,但是当我这样做 PGAdmin : ALTER DATABASE "databaseName" RENAME TO "databaseNameOld"时告诉我它不能。 我该怎么做? (WindowsXP上的8.3版) 更新资料 第一条错误消息:不能,因为我已连接到它。因此,我选择了另一个数据库并进行了查询。 我收到第二条错误消息,告诉我它已经连接了用户。我在PGAdmin屏幕上看到它有很多,PID但是它们是不活动的...我看不到如何杀死它们。
126 sql  postgresql 

4
在Laravel迁移中使列不可为空
我正在编写一个迁移,以立即在表中创建某些列nullable。对于down函数,我当然想not nullable再次创建这些列。我浏览了架构生成器docs,但是找不到实现此目的的方法。 任何帮助,将不胜感激。

4
如何正确使用Oracle ORDER BY和ROWNUM?
我很难将存储过程从SQL Server转换为Oracle,以使我们的产品与其兼容。 我有一个查询,它根据时间戳返回一些表的最新记录: SQL Server: SELECT TOP 1 * FROM RACEWAY_INPUT_LABO ORDER BY t_stamp DESC =>那将返回我最近的记录 但是甲骨文: SELECT * FROM raceway_input_labo WHERE rownum <= 1 ORDER BY t_stamp DESC =>那将返回我最旧的记录(可能取决于索引),而不管ORDER BY语句如何! 我以这种方式封装了Oracle查询以符合我的要求: SELECT * FROM (SELECT * FROM raceway_input_labo ORDER BY t_stamp DESC) WHERE rownum <= 1 而且有效。但这对我来说听起来像是一个骇人听闻的骇客,尤其是当我在涉及的表中有很多记录的时候。 实现此目标的最佳方法是什么?

5
日期范围之间的PostgreSQL查询
我正在尝试查询我的postgresql数据库以返回日期在特定月份和年份的结果。换句话说,我想要一个月年的所有值。 到目前为止,我能够做到的唯一方法是这样的: SELECT user_id FROM user_logs WHERE login_date BETWEEN '2014-02-01' AND '2014-02-28' 问题在于,我必须在查询表之前计算第一个日期和最后一个日期。有没有更简单的方法可以做到这一点? 谢谢
126 sql  postgresql  date  between 

2
Ruby on Rails:从数据库列获取最大值
目前,我可以在数据库上进行直接SQL查询: SELECT MAX(bar) FROM table_name 然后返回该表中的最大值。但是,当我进行在Rails中的等效调用时,它不起作用。我正在打电话: Bar.all(:select => "Max(bar)") 这简单地返回: [#<Bar >] 在我要求的列中,有一系列标识数字,我正在寻找最大的数字。在Rails中还有其他访问方式吗?
125 sql  ruby-on-rails 

16
用于修订的数据库设计?
我们在项目中需要将实体的所有修订(更改历史记录)存储在数据库中。目前,我们有2个为此设计的提案: 例如,对于“雇员”实体 设计1: -- Holds Employee Entity "Employees (EmployeeId, FirstName, LastName, DepartmentId, .., ..)" -- Holds the Employee Revisions in Xml. The RevisionXML will contain -- all data of that particular EmployeeId "EmployeeHistories (EmployeeId, DateModified, RevisionXML)" 设计2: -- Holds Employee Entity "Employees (EmployeeId, FirstName, LastName, DepartmentId, .., ..)" -- In …

11
选择每位用户最近日期的行
我有一张用户签入和签出时间的表(“ lms_attendance”),如下所示: id user time io (enum) 1 9 1370931202 out 2 9 1370931664 out 3 6 1370932128 out 4 12 1370932128 out 5 12 1370933037 in 我正在尝试创建此表的视图,该视图将仅输出每个用户ID的最新记录,同时为我提供“ in”或“ out”值,如下所示: id user time io 2 9 1370931664 out 3 6 1370932128 out 5 12 1370933037 in 到目前为止,我已经很接近了,但是我意识到视图将不接受子查询,这使它变得更加困难。我得到的最接近的查询是: select `lms_attendance`.`id` AS …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.