从我上一个关于这个主题的问题
我有下表关于Postgres 9.2 (带有postgis):
CREATE TABLE updates (
update_id character varying(50) NOT NULL,
coords geography(Point,4326) NOT NULL,
user_id character varying(50) NOT NULL,
created_at timestamp without time zone NOT NULL
);
并且我在表上运行以下查询:
select *
from updates
wher
我想在dynamodb中存储位置信息。信息是
id | place_name | district | state | country | latitude | longitude
我想用名字,地区,州和国家来搜索一个地方。
应该创建哪些索引才能有效地完成这一任务?
我应该使用扫描还是查询操作?
我可以查询表以找到一个位于给定纬度和经度附近的位置吗?
你好,我有大约5000万个论坛,每个论坛有超过3000万个主题,这是我在PostgreSQL中的主题结构。
CREATE TABLE public.forum_topic
(
"forum" integer NOT NULL,
"user" integer NOT NULL,
"submit" integer NOT NULL,
"subject" character varying(64) NOT NULL,
"content" character varying(8192
我正在尝试执行一个查询,该查询检索具有较大偏移量的表中昂贵的列。但是,当偏移量越来越大时,查询会越来越慢,直到在合理的时间内无法解决为止。
我感到困惑的部分是查询的昂贵部分在语句的SELECT部分中。我原以为这对最后的时机没有什么影响。
查询的每个单独部分都是快速的:
SELECT expensive_column FROM table WHERE id='1234567'
SELECT id FROM table OFFSET 1234567 LIMIT 1
但是,在一个查询中执行这些操作时,会产生巨大的性能影响:
SELECT expensive_column FROM t
我有一个查询,如下所示:
SELECT Distinct(ContKey)
FROM Point
WHERE Created > 1245750191000
AND Created < 1345753791000
AND ContainerId='abcd'
查询的目的是获得所有不同的关键字值,这些值根据一定的条件映射到“容器”表中的字段“ContKey”,其中包括一个范围。
它运行得非常慢。我确信这不是索引问题,因为我们有相关字段和字段组合的索引。在我有数百万行的数据库中,这个查询需要300秒才能返回69,338个结果。太慢了!
我正在尝试重写查询以消除D
我知道,由于8.1Postgres版本可以在查询时使用多个索引进行or查询。
我想知道是否有可能在索引时将多个列合并成一个索引列。如果我有疑问的话:
select *
from contacts
where firstname = 'Cassidy'
or lastname = 'Cassidy'
or nickname = 'Cassidy'
我能否创建一个索引,将来自firstname、lastname和nickname的所有值结合起来,以便这个搜索(可能是一个经过调整的查询)成为一个单一的索引查找?
这里我需要一个解决我的问题的方法。我有一个表格,里面有200万条与地理坐标相关的记录。若要从表中获取一个perticular行,查询执行时间将为24秒。在这里,我想为我的应用方面选择500条以上的记录。因此,任何人都可以提出任何解决方案,以使我的查询更快。
查询
SELECT * FROM myProject.MAP where start_ip<=419297593 and end_ip>=419297593;
表结构
Field,Type,Null,Key,Default,Extra
start_ip,"int(10) unsigned",YES,MUL,NUL
我是elasticsearch的新手。我需要获取查询结果的文档大小。 示例:在ES中查询文档时使用-- this is a document. (19bytes). this is also a document. (24bytes) content:{"a":"this is a document", "b":"this is also a document"}(53bytes)。我会得到上面的文件作为结果。因此,两个文档的大小都是32字节。我需要elasticsearch中的32字节作为结果。
我需要你的帮助。我有这样的疑问:
SELECT * FROM cart WHERE
(ts_in between 1249077600 AND 1318975199);
上面的查询在ts_in列(范围类型)上使用btree索引。现在,我想为此添加另一个标准。例如:
SELECT * FROM cart WHERE
(ts_in between 1249077600 AND 1318975199) and is_removed=0;
上面的查询没有在ts_in列n(范围)上使用btree索引。
有没有人能告诉我为什么以及怎样才能以正确的方式达到非常快的计算速度。
我创建了两个用于测试的索引:
C
我有一张这样的桌子:
// posts
+----+-------------+-----------------------------+
| id | title | body |
+----+-------------+-----------------------------+
| 1 | First Post | The content of first post |
| 2 | Second Post | The content of second post |
+----+-------------+-----
我有一个更新查询,它从一个表(HST)中选择数据并将其更新到另一个表(PCLN)中。PCLN表包含大约17000行,而HST表包含约110万行。我在HST上有多个(复合)索引,尽管它是一个大表,但对它的所有查询都相当快(~2-3秒)。但是,当我尝试从这个表中选择行并更新PCLN时,需要3-4个小时。
UPDATE PCLN
SET `T1A` = ( SELECT MIN(HST.`Date`)
FROM `HST`
WHERE HST.`SYM`=PCLN.INS
AND HST.`DATE` &
我使用(PostgreSQL) 11.8。我有带杜松子酒索引的餐桌品牌
CREATE INDEX bn_custom_index ON brand
USING GIN(to_tsvector('pg_catalog.swedish', brand_name));
我用gin_trgm_ops创建了GIN索引
CREATE EXTENSION IF NOT EXISTS pg_trgm;
CREATE INDEX brand_trgm_idx ON brand USING GIN (brand_name gin_trgm_ops);
和带有
假设我希望找到同时出现在mode=1和mode=2中的I:
SELECT id FROM tab a WHERE mode=1 and (SELECT COUNT(*) from tab b where b.mode=2 and a.id=b.id) = 0
而且我需要这个查询运行得非常快,即使表包含数百万行( id1和id2上已经有了索引)。是否有一种方法可以创建类似于包含此查询的视图,该视图在每次表更改时都会自动更新,以便预先为我准备结果?
我的查询没有使用索引。
大约花了5秒。
输出仅为500行。这是一个简单的查询。
请在这里找到解释计划和表格结构。
解释计划
mysql> explain SELECT COUNT(*) AS `records_found`
FROM `builds` AS `build`
WHERE (`user_id` = '32762'
AND `country_id` = 'gb'
AND `share` = 0
AN