V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  yjhatfdu2  ›  全部回复第 3 页 / 共 5 页
回复总数  94
1  2  3  4  5  
83 天前
回复了 avadakur 创建的主题 程序员 关于数据库高并发插入的版本号问题
如果是 pg 的话,可以考虑用 advisory_lock,读之前针对 user_id 的值加锁,更新完解锁,这样不会对表或者行加高级的锁,避免影响其他业务,也可以避免引入 redis 带来的通讯开销,应该是性能非常高的方案了
83 天前
回复了 avadakur 创建的主题 程序员 关于数据库高并发插入的版本号问题
@shinelamla 这个是个典型的不可重复读问题,在 RR 的隔离等级下,这种情况不被允许,一般来说,后一个提交的事务会失败,以避免数据不一致
83 天前
回复了 avadakur 创建的主题 程序员 关于数据库高并发插入的版本号问题
如果不是必须先获取当前 version 做业务操作然后再更新,那么直接 update version set version=version+1 where xxxx 就可以了,如果必须先获取 version 再做一些业务操作再更新,就得开事务了,然后高并发的情况还得考虑事务失败概率高的问题,可以根据你的数据库实际情况考虑使用显式锁来减少事务冲突导致的失败
83 天前
回复了 avadakur 创建的主题 程序员 关于数据库高并发插入的版本号问题
开事务
@249239432 你估计没排序吧,你这算法复杂度有点高排个序应该就是 ONLogN 了
@249239432 你这也太离谱了,我给你看看 postgis 的测试结果,笔记本上运行( m1max )。
创建一个测试表,并用使用 WGS84 坐标系,创建 1000w 条测试数据,平均分布在经度 120-130 ,纬度 60-70
postgres=# create table geo(id serial primary key,point geography);
CREATE TABLE
Time: 8.159 ms
postgres=# insert into geo(point) select st_point(120+10*random(),60+10*random(),4326) from generate_series(1,10000000);
INSERT 0 10000000
Time: 22743.621 ms (00:22.744)
postgres=# select count(*) from geo;
count
----------
10000000
(1 row)

Time: 184.563 ms
直接查找 500m 内的点
postgres=# select id,st_astext(point) from geo where point<->st_point(121,61,4326) <500;
id | st_astext
---------+----------------------------------------------
462445 | POINT(120.99758165008446 60.99813696562379)
1438617 | POINT(121.00541966217078 61.00254115685877)
6427771 | POINT(121.0057518866478 60.99946005998968)
7239910 | POINT(121.00062919717045 61.00302782747821)
480378 | POINT(121.00686930870204 60.99929456226042)
6463221 | POINT(121.00448273536959 60.99901955735362)
7497972 | POINT(121.00128087999187 61.000266168985476)
9546292 | POINT(121.00044691737057 61.00368666618427)
9594039 | POINT(121.00070061094034 60.996584053665245)
(9 rows)

Time: 897.110 ms
创建 GIST 索引后使用 ST_DWithin 函数可以使用索引加速
postgres=# select id,st_astext(point) from geo where ST_DWithin(point,st_point(121,61,4326),500) ;
id | st_astext
---------+----------------------------------------------
7497972 | POINT(121.00128087999187 61.000266168985476)
9594039 | POINT(121.00070061094034 60.996584053665245)
6463221 | POINT(121.00448273536959 60.99901955735362)
9546292 | POINT(121.00044691737057 61.00368666618427)
1438617 | POINT(121.00541966217078 61.00254115685877)
7239910 | POINT(121.00062919717045 61.00302782747821)
462445 | POINT(120.99758165008446 60.99813696562379)
480378 | POINT(121.00686930870204 60.99929456226042)
6427771 | POINT(121.0057518866478 60.99946005998968)
(9 rows)

Time: 10.359 ms
只要 10 毫秒,比你们快至少 3 亿倍

只能说废公司是贵物
这代码加这个/就是为了删你的数据吧,有毒
192 天前
回复了 kerwenard 创建的主题 iPhone 想问一下买了 15pro 的各位,续航血崩吗?
@icenine 我也是,升级 17.1.1 后基本解决了
应用程序连接,连不上后看数据库日志里面的报错,应该可以看到尝试连接的数据库名,然后改成这个就行了
@Liang 可以挂个 iCloudpd 自动同步到本地,或者网页版 iCloud 批量下载
低端的确实没法看的,辣眼睛
等离子现在不如换 QD-OLED 了,所有维度都没法比
234 天前
回复了 ddvswgg 创建的主题 iPhone 怎么压缩 iPhone 里的视频?
最简单是 mac 上 finder 里面选中需要编码的视频,右键,编码所选视频,hevc1080p
2023-01-31 11:08:29 +08:00
回复了 bmpidev2019 创建的主题 分享创造 SQLite 的文艺复兴
sqlite 不支持并发事务吧?稍微复杂点的业务都会有较大的瓶颈
2022-11-02 11:07:22 +08:00
回复了 vegforlive 创建的主题 程序员 一个关于数据库存储大量文件的问题
建议使用对象存储,比如 minio 之类的
2022-11-01 14:48:57 +08:00
回复了 yaott2020 创建的主题 Go 编程语言 请教 Golang 并发读写的问题
可以使用 atomic
2022-10-13 18:03:54 +08:00
回复了 Weixiao0725 创建的主题 程序员 现在的模糊查询大家都使用什么解决方案?
@qingshuang postgreSQL ,使用 pg_bigm 索引插件+like
2022-09-28 11:29:25 +08:00
回复了 qdwang 创建的主题  WATCH apple watch 监测房颤的问题
@qdwang 日常心脏检测可以用心率来监测,不需要 ECG 也能获得一定的信息,ECG 会更加精确详细,不过这些移动设备的 ECG 都是单导联,和医院里的专业设备有较大差距
2022-09-27 17:34:23 +08:00
回复了 qdwang 创建的主题  WATCH apple watch 监测房颤的问题
不能,必须手指触摸表冠才能形成导联,才能测出 ECG ,你戴在手腕上,都没法和心脏形成回路,怎么可能测出心电?
跑小图再用 esrgan 做 upscale ,可以用 https://github.com/lstein/stable-diffusion 这个分支,直接集成了
1  2  3  4  5  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1624 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 30ms · UTC 16:48 · PVG 00:48 · LAX 09:48 · JFK 12:48
Developed with CodeLauncher
♥ Do have faith in what you're doing.