小编Gre*_*ssy的帖子

为什么我在postgresql中的视图不使用索引?

我有一个大表(星级目录),其中我有一个子集.我将子集实现为两个表的并集,其中我使用了交叉索引.

问题是来自视图的查询似乎没有使用索引,时间与扫描表中的时间相同.

对大表的查询很快:

select count(*) from ucac4 where rnm in (select ucac4_rnm from grid_catalog limit 5);
count 
-------
     5
(1 row)

Time: 12.132 ms
Run Code Online (Sandbox Code Playgroud)

对视图的查询不会很快,即使我期望它.

select count(*) from grid_catalog_view where ident in (select ucac4_rnm from grid_catalog limit 5);
count 
-------
     5
(1 row)

Time: 1056237.045 ms
Run Code Online (Sandbox Code Playgroud)

解释这个查询yeilds:

 Aggregate  (cost=23175810.51..23175810.52 rows=1 width=0)
   ->  Hash Join  (cost=23081888.41..23172893.67 rows=1166734 width=0)
         Hash Cond: (ucac4.rnm = public.grid_catalog.ucac4_rnm)
         ->  Unique  (cost=23081888.17..23140224.87 rows=2333468 width=44)
               ->  Sort  (cost=23081888.17..23087721.84 rows=2333468 width=44)
                     Sort Key: ucac4.ra, ucac4."dec", ucac4.pmrac, ucac4.pmdc, ucac4.rnm, ucac4.nest4, …
Run Code Online (Sandbox Code Playgroud)

postgresql indexing view

8
推荐指数
1
解决办法
8690
查看次数

复制多列条目postgresql

我在postgresql数据库中有一堆数据.我认为两个密钥应该形成一个唯一的对,所以想要在数据库中强制执行.我试试

create unique index key1_key2_idx on table(key1,key2)
Run Code Online (Sandbox Code Playgroud)

但那失败了,告诉我我有重复的条目.

如何找到这些重复的条目,以便我可以删除它们?

postgresql duplicates multiple-columns

6
推荐指数
2
解决办法
5216
查看次数

如何将哪个奇异值对应于哪个条目?

我正在使用 numpy linalg 例程 lstsq 来求解方程组。我的 A 矩阵的大小为 (11046, 504),而我的 B 矩阵的大小为 (11046, 1),确定的秩为 249,因此解决的 x 数组的大约一半并不是特别有用。我想使用奇异值的 s 数组将与奇异值对应的参数的求解结果归零,但似乎 s 数组是按统计显着性递减的顺序排序的。有没有办法可以找出我的哪个 x 对应于每个奇异值 s?

python numpy matrix linear-algebra least-squares

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

如何绘制每个元素在列表中的次数

我想做一些我认为不会很难的事情,但我无法弄清楚如何让python/matplotlib/pylab来做.

给定一个输入,我想要一个直方图,显示每个元素出现的次数.

给出一个清单

x=range(10)
Run Code Online (Sandbox Code Playgroud)

我想要输出具有单个条形,y值为10,等于x = 1,没有其他图形.

给出一个清单

x=range(10)
x.append(1)
Run Code Online (Sandbox Code Playgroud)

我希望输出有两个条形,x = 1时ay值为9,x = 2时ay值为1.我怎样才能做到这一点?

python matplotlib

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