V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  bthulu  ›  全部回复第 1 页 / 共 52 页
回复总数  1021
1  2  3  4  5  6  7  8  9  10 ... 52  
针对 Width 的二分查找, 在找到符合范围的数据后, 继续往上 100 条一跳查找是否满足条件, 不满足则往上 10 条一跳查找, 还不满足就往上一条条查找, 找到起始点. 同样往下找到结束点.
针对 Gsm 的二分查找, 因为每个 Width 对应的 Gsm 不会有太多, 二分查找到符合条件的数据后, 就不做 100 条一跳了, 直接 10 条一跳转 1 条一跳.
@wxf666 我目前采用的方案: 直接拉到内存里, 按 id 生成字典. 然后对 2 个区分度相对高的必查字段排序后生成了 1 个 List<Index>.

```
public struct Index(int Width, GsmId[] GsmIds);
public struct GsmId(int Gsm, int Id);
```

每次查询时, 先二分法查找 Width, 再对结果集遍历, 在 GsmIds 中二分法查找 Gsm, 得出满足 Width 和 Gsm 的 id 结果集, 再从字典中取回数据本体生成新的结果集.

这时候的结果集就已经只有几十条了, 其余字段查找, 直接在这个结果集中遍历
@cat1879 查一遍是没压力, 这是要瞬间根据不同条件查几千遍.
@yufeng0681 不需要每秒查询, 无并发. 就一个定时任务, 每 30 秒左右执行一次, 执行时间尽量控制在几百毫秒内. mysql 就普通电脑, 这是工业用的, 不存在读写分离什么的, 就一普通家用 dell PC 机上运行.
@Chad0000 问题是不走索引每次都是遍历啊.

比如 1 万条查 1 千次, 平均每次查出来 10 条数据, 对于有索引来说, 每次查询只需要定位最大值和最小值, 然后将中间的依次取出即可. 那 10 条数据走一次索引, 接触到的数据可能还不到 20 条. 一千次就是 2 万条.

如果走内存遍历, 查一次就是接触 1 万条数据. 一千次就是一千万条

也就是数据库多了一千次 IO, 但少遍历了 998 万条数据.
@wxf666 这个你咋存? 比如某个属性 width, 范围从 800, 850, 900, 一直到 3000. width=800 的几十条, width=850 的有几条, width=900 的又有几十条, 咋个存到 hashmap 里去?

难道按 id 作为 key 存进去? 问题是我这查询条件没有一个地方用到 id, 都是根据属性查的.
具体问题具体分析. 如果是公司内部部署到公网服务器, 对外提供服务, 那肯定不合适.
如果是像我司这种, 都是部署在客户普通 PC 机上的, 不写数据库你写哪? 还整什么 es, loki, clickhouse, 你这不是让现场实施找罪受么, 不怕人家回公司打死你?
18 天前
回复了 mmr 创建的主题 React React 大佬能不能给初学者给一些建议。
初学者用什么 tailwindcss, 就最基础的 css 就行了. 等你 css 滚瓜烂熟了, 再去用 tailwindcss
20 天前
回复了 csulyb 创建的主题 程序员 目前 web 后台一般是什么趋势
都用不到, 直接用 ai 自动生成服务端就行了
24 天前
回复了 LawlietZ 创建的主题 程序员 4202 年了,前端开发一定必须要用 mac 吗
必须 mac, 只有 mac 才能让老板意识到你的价值, 只有 mac 上的 chrome 才叫 chrome, windows 上只有 edge.
27 天前
回复了 jgh004 创建的主题 程序员 微软的新项目 Garnet 碾压 Redis ?
@me1onsoda windows 上的 IOCP 比 epoll 强的多, 只是因为 Linux 上没有对标的东西, 大家都不带 windows 玩罢了.
28 天前
回复了 jgh004 创建的主题 程序员 微软的新项目 Garnet 碾压 Redis ?
这真是个好东西. 我司所有服务器跑的都是 windows, redis 还一直用的微软的 3.0 版本.
现在终于是出来了 windows 上可用的原生内存缓存了, 希望微软能一直更新迭代下去.
区块链呀, 火了很久了
34 天前
回复了 Cola98 创建的主题 程序员 redis 持久化疑惑
每毫秒一次 RDB 全量备份就行了
@version 今年会推出独立单独远程应用, 这个消息是真的吗
36 天前
回复了 Cineray 创建的主题 程序员 有什么方便的实验室共享 GPU 方案?
一人买一台服务器不久好了
润出去画本子呢?
还想用手机查资料? 想得美, 离公司当有几百米呢, 手机信号就被干扰了
40 天前
回复了 chowdpa02k413 创建的主题 NAS 一张图展示绿联 NAS 现状
远离绿联. 之前买了个绿联的带网口的 USB 扩展坞, 包装高大上, 键盘插上去就灯光乱闪, 打字连击. 立马下单买了个飞利浦的, 包装简陋, 但是装上就安安静静啥事没有.
1  2  3  4  5  6  7  8  9  10 ... 52  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5563 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 44ms · UTC 01:34 · PVG 09:34 · LAX 18:34 · JFK 21:34
Developed with CodeLauncher
♥ Do have faith in what you're doing.