首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >选择正确的数据库类型

选择正确的数据库类型
EN

Stack Overflow用户
提问于 2021-09-10 06:16:00
回答 1查看 42关注 0票数 0

我必须创建一个数据库,其中有大约1.3亿条记录,这是大约90 DB时加载。我想把这个放在蓝色的地方。数据库修改将作为批处理操作每天发生一次。搜索必须更频繁地进行,应该在2秒内返回结果。搜索包括文本搜索(地址)和其他一些数字字段。

我试图找出最具成本效益的数据库,但提供上面提到的性能。我已经测试了单服务器PostgreSQL DB,但即使在添加了

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
General Purpose Gen-5 4 cores (20GB RAM) and 500GB storage (1500 IOPS). 

表模式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE TABLE properties(
    PropertyId bigint,
    Address text,
    Latitude double precision,
    Longitude double precision,
    Rooms int,
    BathRooms int
)

索引:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE INDEX address_idx ON properties USING GIN (Address gin_trgm_ops);
CREATE INDEX propertyid_idx ON properties(PropertyId);
CREATE INDEX latitude_idx ON properties(Latitude);
CREATE INDEX longitude_idx ON properties(Longitude);

示例查询:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select * from my_table 
where Latitude between x and y
and Longitude between p and q
and address like '%address%';

分析:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"Bitmap Heap Scan on properties  (cost=34256.04..34901.54 rows=10 width=561) (actual time=24664.562..32007.752 rows=35 loops=1)"
"  Recheck Cond: ((Address ~~ '%3365%'::text) AND (Longitude >= '-90.5'::double precision) AND (Longitude <= '-90'::double precision))"
"  Rows Removed by Index Recheck: 1123"
"  Filter: ((propertylatitude >= '38'::double precision) AND (propertylatitude <= '39'::double precision))"
"  Rows Removed by Filter: 64"
"  Heap Blocks: exact=1213"
"  Buffers: shared hit=181 read=6478"
"  I/O Timings: read=31160.388"
"  ->  BitmapAnd  (cost=34256.04..34256.04 rows=161 width=0) (actual time=24660.058..24660.059 rows=0 loops=1)"
"        Buffers: shared hit=169 read=5277"
"        I/O Timings: read=23836.224"
"        ->  Bitmap Index Scan on address_idx  (cost=0.00..135.75 rows=12233 width=0) (actual time=6892.077..6892.077 rows=12973 loops=1)"
"              Index Cond: (Address ~~ '%3365%'::text)"
"              Buffers: shared hit=168 read=321"
"              I/O Timings: read=6815.544"
"        ->  Bitmap Index Scan on longitude_idx  (cost=0.00..34120.04 rows=1627147 width=0) (actual time=17763.265..17763.265 rows=1812752 loops=1)"
"              Index Cond: ((Longitude >= '-90.5'::double precision) AND (Longitude <= '-90'::double precision))"
"              Buffers: shared hit=1 read=4956"
"              I/O Timings: read=17020.681"
"Planning Time: 0.267 ms"
"Execution Time: 32008.085 ms"

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2021-09-10 06:41:53

我不知道您的数据库是如何构造的,也不知道您正在使用的查询是什么,所以在您提供更多上下文之前,请对我的回答持保留态度。

ElastricSearch,虽然不完全是DB,但将证明对您的用例很有用(如果我正确理解了您正在处理的问题)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69133588

复制
相关文章
Reactive UI -- 反应式编程UI框架入门学习 (转载非原创)
反应式编程是一种相对于命令式的编程范式,由函数式的组合声明来构建异步数据流。要理解这个概念,可以简单的借助Excel中的单元格函数。
wxilejun
2022/08/09
2.3K0
Problem: Delete Number Problem
这题可以使用贪心策略,每次从高位向低位数,删除高位比低位数字小的那位上的数字,直到删除了k位之后,得到的数字肯定是最大值。
宅男潇涧
2018/08/01
4180
Problem: Delete Number Problem
Problem: Vertext Cover Problem
给定一个N个点M条边的无向图G(点的编号从1至N),问是否存在一个不超过K个点的集合S,使得G中的每条边都至少有一个点在集合S中。
宅男潇涧
2018/08/01
5470
Problem: Vertext Cover Problem
Problem: Matrix Chain Problem
矩阵链乘问题是最典型的动态规划问题,本文介绍如何用动规算法解决这个问题,要理解下面的内容请先阅读这篇动态规划的总结。
宅男潇涧
2018/08/01
5430
Problem: Matrix Chain Problem
LIS + Problem
让我们举个例子:求 2 7 1 5 6 4 3 8 9 的最长上升子序列。我们定义d(i) (i∈[1,n])来表示前i个数以A[i]结尾的最长上升子序列长度。
AngelNH
2020/04/16
4210
Jmetal Problem和Problem Set的变量范围
ProblemSet的变量范围 //注意MATP1是一个ProblemSet,其中有50个任务,即有50个Problem //其变量上下界的范围使用getUnified函数获得 double unilw= problemSet.getUnifiedLowerLimit(); double uniup=problemSet.getUnifiedUpperLimit(); System.out.println("unilw "+unilw+" "+"uniup
演化计算与人工智能
2020/08/14
6780
LCS + Problem
最长公共子序列,。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。
AngelNH
2020/04/16
5380
A problem is easy
When Teddy was a child , he was always thinking about some simple math problems ,such as “What it’s 1 cup of water plus 1 pile of dough ..” , “100 yuan buy 100 pig” .etc..
书童小二
2018/09/03
3720
A problem is easy
Dual Problem & KKT
I have written a note with respect to SVM. Unfortunately , I was not familiar with convex optimizati
西红柿炒鸡蛋
2020/07/20
5660
Dual Problem & KKT
Train Problem I
思路:我们很容易想到用一个栈就可以解决~~ 然后还要用字符型的不定数组来存火车的标号;不能用整数型的,具体为什么自己想一想就明白了
杨鹏伟
2020/09/11
2860
2301: [HAOI2011]Problem b
2301: [HAOI2011]Problem b Time Limit: 50 Sec  Memory Limit: 256 MB Submit: 1737  Solved: 749 [Submit][Status][Discuss] Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数。 Input 第一行一个整数n,接下来n行每行五个整数,分别表示a、b、c、d、k Outp
HansBug
2018/04/11
6080
Backpack problem
1、01背包 /* 一共有n件物品,背包容量为m,每件物品有体积weight 和value,求背包可以装的最大价值。 01背包是最简单的背包问题,每件物品只有选与不选两种情况: dp[i][j] :表示选第i件物品时重量为j的最大价值。 1.不选第i件物品 dp[i][j] = dp[i-1][j] 2.选第i件物品的最大值(背包容量足够) dp[i][j] = max(dp[i-1][j],dp[i-1][j-weight[i]] + value[i]) */ #include<iostream>
AngelNH
2020/04/16
3810
Year 2038 problem
已经知道,对于int了tinyint了这些MySql类型,后面那个4或者11没啥实际意义,只是说(当位数不足时)前面填充多少个0,然后使之变为4位或者11位,对这个类型的字段实际能存的长度没啥影响.
fliter
2023/09/23
2200
Year 2038 problem
2018 MCM Problem A notes
2018 MCM Problem A: Multi-hop HF Radio Propagation(bk1)
magic2728
2019/09/27
4470
D. Minimax Problem
time limit per test:5 seconds memory limit per test:512 megabytes inputstandard input outputstandard output
某些人
2020/04/09
2940
HDOJ 1000 A + B Problem
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 513689 Accepted Submission(s): 162876
谙忆
2021/01/19
3060
ZOJ Problem Set - 3870
原理:异或 #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int MaxN = 1e5 + 10; int a[MaxN], bit[50]; // bit[i]表示有多少个数的最高位的1在第i位上 void solve(int x) { int l = 31; while(l >= 0) { if(x & (1<<l)) {
Gabriel
2022/11/15
1370
A+B Problem(V)
做了A+B Problem之后,Yougth感觉太简单了,于是他想让你求出两个数反转后相加的值。帮帮他吧
书童小二
2018/09/03
4450
【HDU 5105】Math Problem
  b≠0,f为二次函数,最大值点在区间端点或者x0=c/(2*b),当L≤x0≤R时,ans=max{f(L),f(R),f(x0)}。
饶文津
2020/06/02
2530
点击加载更多

相似问题

表单语义UI反应

14

本机反应语义-ui-反应

24

语义-ui图像属性不工作语义-ui-反应

23

语义UI反应不显示

213

语义UI反应,下拉选择

113
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文