yjhatfdu2 最近的时间轴更新
yjhatfdu2

yjhatfdu2

V2EX 第 457268 号会员,加入于 2019-12-04 10:30:20 +08:00
今日活跃度排名 12075
yjhatfdu2 最近回复了
云场景、实时性要求不高的场景有成本和灵活性优势,非云场景或者实时性要求高的场景就不适合了
补一个 window 的,i510 代标压 edge ,12 分
@zzxqd 主要影响的是加载时间和复杂 webapp 的响应速度,同时反过来也会影响能效,顺便,现在兼容性最差和功能缺失的可不一定是 webkit ,https://web.dev/blog/interop-2023
@zzxqd 看一下刚更新的 speedometer3.0 ,已经更加贴近各种实际场景了,也是 G 、M 等共同参与的 https://webkit.org/blog/15131/speedometer-3-0-the-best-way-yet-to-measure-browser-performance/
@yjhatfdu2 更正:50 米内点的数量
@249239432 我单机 pg 查了 1000w 个点,每个点附近 50 个点的数量(平均 5 个左右)也就 20 分钟
explain analyse select id,(select count(*) from geo where st_dwithin(point,g.point,50)) from geo g;
QUERY PLAN
------------------------------------------------------------------------------------------------------------------------------------------------
Seq Scan on geo g (cost=0.00..165365708334.00 rows=10000000 width=12) (actual time=1.076..1049434.731 rows=10000000 loops=1)
SubPlan 1
-> Aggregate (cost=16536.54..16536.55 rows=1 width=8) (actual time=0.105..0.105 rows=1 loops=10000000)
-> Index Scan using geo_point_idx on geo (cost=0.54..16534.04 rows=1000 width=0) (actual time=0.027..0.104 rows=14 loops=10000000)
Index Cond: (point && _st_expand(g.point, '50'::double precision))
Filter: st_dwithin(point, g.point, '50'::double precision, true)
Rows Removed by Filter: 7
Planning Time: 0.756 ms
Execution Time: 1049626.246 ms
(9 rows)

Time: 1049627.962 ms (17:29.628)
@249239432 计算次数和算法是很有关的,比如你要圈每一个点附近 50 米的所有点,你可以两次 for 循环每两个之间算一次,也可以排序/索引之后,每个点只需要用 LogN 次查询
16 天前
回复了 avadakur 创建的主题 程序员 关于数据库高并发插入的版本号问题
@shinelamla 你这样的问题也是高并发下,失败概率会很高
16 天前
回复了 avadakur 创建的主题 程序员 关于数据库高并发插入的版本号问题
如果是 pg 的话,可以考虑用 advisory_lock,读之前针对 user_id 的值加锁,更新完解锁,这样不会对表或者行加高级的锁,避免影响其他业务,也可以避免引入 redis 带来的通讯开销,应该是性能非常高的方案了
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   990 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 14ms · UTC 20:06 · PVG 04:06 · LAX 13:06 · JFK 16:06
Developed with CodeLauncher
♥ Do have faith in what you're doing.