标签: limit

使用ORDER和LIMIT子句进行极慢的PostgreSQL查询

我有一张桌子,我们称之为"foos",其中有近600万条记录.我正在运行以下查询:

SELECT "foos".*
FROM "foos"
INNER JOIN "bars" ON "foos".bar_id = "bars".id
WHERE (("bars".baz_id = 13266))
ORDER BY "foos"."id" DESC
LIMIT 5 OFFSET 0;
Run Code Online (Sandbox Code Playgroud)

此查询需要很长时间才能运行(Rails在运行时会超时).所有ID都有一个索引.好奇的部分是,如果我删除ORDER BY条款或LIMIT条款,它几乎是瞬间运行.

我假定这两者的存在ORDER BYLIMIT正在做的PostgreSQL查询规划一些错误的选择.任何人都有任何想法如何解决这个问题?

如果它有帮助,这里是EXPLAIN所有3种情况:

//////// Both ORDER and LIMIT
SELECT "foos".*
FROM "foos"
INNER JOIN "bars" ON "foos".bar_id = "bars".id
WHERE (("bars".baz_id = 13266))
ORDER BY "foos"."id" DESC
LIMIT 5 OFFSET 0;
                                                     QUERY PLAN                                                     
--------------------------------------------------------------------------------------------------------------------
 Limit  (cost=0.00..16663.44 rows=5 width=663)
   ->  Nested Loop  (cost=0.00..25355084.05 rows=7608 width=663) …
Run Code Online (Sandbox Code Playgroud)

sql postgresql sql-order-by query-optimization limit

33
推荐指数
2
解决办法
2万
查看次数

Cassandra每个分区限制为20亿个单元,但是什么是分区?

在Cassandra Wiki中,据说2 billion cells (rows x columns)每个分区有一个限制.但我不清楚什么是分区?

每个列系列的每个节点是否有一个分区,这意味着列族的最大大小将2 billion cells * number of nodes在群集中.

或者,Cassandra会根据需要创建尽可能多的分区来存储列族的所有数据吗?

我正在开始一个新项目,所以我将使用Cassandra 2.0.

limit cassandra column-family

33
推荐指数
1
解决办法
2万
查看次数

JPQL限制查询

如何限制JPQL命名查询的选择查询?我需要在查询级别本身而不是在java层中完成限制!我正在尝试使用

@NamedQueries(value = {
        @NamedQuery(name = UserNotification.QueryName.NOTIFICATION_DISPLAYED,
                    query = "SELECT un FROM UserNotification un " +
                            "WHERE un.orgId IN (:orgList) " +
                            "AND un.user.id = :userId LIMIT 5")
Run Code Online (Sandbox Code Playgroud)

但是徒劳!

请建议

java limit jpql jpa-2.0

33
推荐指数
3
解决办法
5万
查看次数

构造函数应该有多少个变量?

我意识到这是一个非常开放的问题,可以得到各种各样的答案,但是这里有.

使用C#(或Java,或任何OO语言),是否有一个通用规则说明应该将多少变量传递给构造函数?我传递给扩展类的构造函数的变量数似乎失控了.

为了封装类的数据,我将成员声明为private,在构造函数中初始化它们,并使用公共访问器.

这是一个例子:

public class A
{
  private int var1;
  private int var2;
  private int var3;

  //3 variables passed in
  public A(int v1, int v2, int v3)
  {
    var1 = v1;
    var2 = v2;
    var3 = v3;
  }

  //Properties (accessors) here
}

public class B : A
{
  private int var4;
  private int var5;

  //5 variables passed in
  public B(int v1, int v2, int v3, int v4, int v5)
  : base(v1,v2,v3)
  {
    var4 = v4;
    var5 = v5;
  } …
Run Code Online (Sandbox Code Playgroud)

c# variables constructor limit

32
推荐指数
3
解决办法
5953
查看次数

如何在Linux中设置目录大小限制?

我已经阅读过有关限制目录大小的内容 - 比如创建大文件,格式化,装载等等.但这一切都非常复杂.是否存在实用程序或其他内容来设置现有目录的限制?

linux directory size limit

32
推荐指数
2
解决办法
8万
查看次数

Typeahead始终只显示5个建议

我有以下代码使用Typeahead.js作为建议.我没有关于代码的重大问题,因为它工作正常.

我面临的一个小问题是,在任何给定时间内,即使远程URL中有超过5条建议,我也只看到5条建议.

var isearch = new Bloodhound({
    datumTokenizer: function(d) { 
         return Bloodhound.tokenizers.whitespace(d.value); 
    },
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    remote: "http://localhost/search/get-data/%QUERY"
});

isearch.initialize();  

$("#search_box .typeahead").typeahead(null,{ name: "isearch",
    displayKey: "value",
    source: isearch.ttAdapter(),
    templates: {
         suggestion: Handlebars.compile("{{value}}")
    }
});
Run Code Online (Sandbox Code Playgroud)

我的期望是有更多的建议,应该有一个滚动条供用户查看.

javascript jquery limit typeahead.js twitter-typeahead

32
推荐指数
4
解决办法
3万
查看次数

将某些进程限制为CPU% - Linux

我有以下问题:动态生成的某些进程有吃100%CPU的倾向.我想将所有匹配某些标准(例如进程名称)的进程限制为一定量的CPU百分比.

我试图解决的具体问题是利用折叠@ home工作流程.我能想到的最好的解决方案是定期执行的perl脚本,并使用cpulimit实用程序来限制进程(如果您对更多细节感兴趣,请查看此博客文章).它有效,但它是一个黑客:/

有任何想法吗?我想将流程的处理留给操作系统:)


再次感谢您的建议,但我们仍然错过了这一点:)

"slowDown"解决方案基本上就是"cpulimit"实用程序所做的.我仍然需要关注哪些进程要减速,一旦工作进程完成就终止"slowDown"进程,并为新的进程进程启动新的进程.这正是我用Perl脚本和cron工作所做的.

主要问题是我事先不知道要限制哪些流程.它们是动态生成的.

也许有办法将一个用户的所有进程限制为一定的CPU百分比?我已经设置了一个用户来执行folding @ home作业,希望我能用/etc/security/limits.conf文件来限制他.但是我能到达的最近的是每个用户的总CPU时间......

如果有一些东西可以让你说:"这个用户的进程的所有CPU%使用量的总和不能超过50%",这将是很酷的.然后让流程争夺50%的CPU优先级......


伙计们,感谢您的建议,但这不是关于优先级 - 即使有足够的CPU时间,我也希望限制CPU%.这些进程已经处于低优先级,因此它们不会导致任何性能问题.

我只想阻止CPU长时间以100%运行......

linux cpu limit

31
推荐指数
6
解决办法
4万
查看次数

Python函数中的最大参数数是多少?

Python函数最多可以包含256个参数,这是一些常见的知识.我很想知道的是,这个限制适用于*args以及**kwargs何时以下列方式展开:

items = [1,2,3,4,5,6]

def do_something(*items):
    pass
Run Code Online (Sandbox Code Playgroud)

我问,因为,假设有可能出现大于256个项目的列表作为一组*argsor 展开的情况**kwargs.

python language-features arguments function limit

31
推荐指数
4
解决办法
2万
查看次数

普通(构建)系统上的C/C++标识符的最大长度是多少?

我不记得标准说标识符的最大长度,所以理论上它们可能很.在现实生活中,这些名称至少可以受到编译器和链接器实现的限制.

虽然这应该适用于所有系统

int a;
Run Code Online (Sandbox Code Playgroud)

这个片段

#!/usr/bin/perl
print "int" . "b" x 2**16 . ";";
Run Code Online (Sandbox Code Playgroud)

创建一个声明,在编译/链接时使用gcc/mingw 为std::某些东西提供未定义的引用ld.

那么不同系统上标识符的大小限制是多少?

c++ limit

30
推荐指数
2
解决办法
2万
查看次数

SQL(ORACLE):ORDER BY和LIMIT

我想通过属性排序我的数据库中的所有数据,并且只有在使用LIMIT和OFFSET之后.

查询如下:

SELECT select_list
    FROM table_expression
    [ ORDER BY ... ]
    [ LIMIT { number | ALL } ] [ OFFSET number ] 
Run Code Online (Sandbox Code Playgroud)

我知道排序一旦找到排序结果的第一个row_count行就结束了.我可以在调用LIMIT和OFFSET之前对所有数据进行排序吗?

sql oracle sql-order-by limit offset

30
推荐指数
1
解决办法
5万
查看次数