V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  wxf666  ›  全部回复第 9 页 / 共 28 页
回复总数  560
1 ... 5  6  7  8  9  10  11  12  13  14 ... 28  
2023-06-21 21:35:25 +08:00
回复了 la0wei 创建的主题 Python Python + mysql 多条相似 sql 语句查询如何加速?
@la0wei 《等价》表结构也不能吗?

列名替换成 a 、b 、c 、d……,省略无关列 delete_at 等,数据类型统一为 VARCHAR(255)……

CSV 表头也替换成 e 、f 、g 、h……

一切不影响讨论的信息,都可以抹去
2023-06-21 17:38:37 +08:00
回复了 la0wei 创建的主题 Python Python + mysql 多条相似 sql 语句查询如何加速?
@la0wei 要不给出一些等价的表结构?这样方便用 SQL 或者 Python 交流嘛

比如:

数据库:data 表,字段:id INT, a VARCHAR(255), b VARCHAR(255), c VARCHAR(255), ...
CSV:condition_a, condition_b, condition_c, ...

当前 Python 代码:

...
2023-06-21 16:47:30 +08:00
回复了 la0wei 创建的主题 Python Python + mysql 多条相似 sql 语句查询如何加速?
@la0wei 你的原始问题是啥?

有个 CSV ,里面是书籍查询请求?(每一行是一个请求,列是 warehouse 、category 、subcategory 等?)

对于每一个请求,你按要求的过滤条件,去数据库搜索符合的书目数据,保存到独立的 CSV 里?


1. 那你说的“重用上一次查询获取的数据”,意思是想重用 1999 次?

2. 还是说,每个请求,有 6 种或 12 种过滤条件?你想重用 5 次或 11 次?

3. 过滤条件一定是严格的包含关系吗?(一定是 北京仓、北京仓计算机类、北京仓计算机类数据库类 这种层层递进?)

4. 数据库数据量有多少?


目前能想到的几种办法:

1. 每次查询,只查出 id (此时你可用 len(ids) 获取总数),然后再根据 id 查出详细数据。(查过的直接用缓存。如果数据总量不大,甚至可以缓存整个 2000 行 CSV 的结果)

2. 如果 过滤条件是严格的包含关系,可以用 WITH AS + 物化查询?

3. 如果是一次性任务,换用 pandas (要求数据库数据量不大)或其他数据库可能更快(如 SQLite 、DuckDB ,十倍差距都有可能)
@Yuesh1 @albin504 能不能根据过去放假数据,总结规律,预测出未来的假期呢?(假设节日种类及放假调休天数不变)
2023-06-21 10:54:05 +08:00
回复了 whooami 创建的主题 MySQL 问个小问题, mysql 查询所有父节点的一点小疑惑?
@whooami 如果你不介意额外占用 10 倍空间,你可以用《闭包表》。

一条 SELECT 就能查出某个节点的所有祖先节点,而且是顺序查询,速度非常快。

我以前发过一个[帖子](/t/889443),讨论过这种数据库表结构。
2023-06-21 10:09:39 +08:00
回复了 la0wei 创建的主题 Python Python + mysql 多条相似 sql 语句查询如何加速?
@la0wei 加个 (warehouse, category, subcategory) 索引,应该能快很多吧?

> 我根据一个 csv 查询相关信息,整个文件跑完要 3 个多小时

你的 CSV 有多少数据呢?而且,MySQL 能直接查询 CSV ?
2023-05-03 14:47:16 +08:00
回复了 hardto 创建的主题 程序员 如何面对 gpt-4 的挑战
什么时候 ChatGPT 能写出日赚一万的程序出来?要求一运行就打款到支付宝等。

能做出来了,被替代就被替代呗。

做不出来,怎么指望它能胜任其他任务呢?
2023-01-03 12:12:22 +08:00
回复了 sunmoon1983 创建的主题 MySQL 求各位大佬给些报表优化的思路?
@sunmoon1983 你要多少秒内出结果呢?

@7911364440 比如,100W 数据里,只有 1 个城市户籍、1 个男性、1 个 2022 的,那算式是 1 - (100W - 1) - (100W - 1) ?还是咋算的?
2023-01-02 13:52:51 +08:00
回复了 sunmoon1983 创建的主题 MySQL 求各位大佬给些报表优化的思路?
@jones2000 我也感觉是,就算一行需要 1KB ,全部放进内存也才不到 1GB ,for 一百万次实际就连 Python 都不会很慢

如果只挑可能用到的字段出来,一百万行可能也只用到几十 MB 内存即可
2023-01-02 13:50:44 +08:00
回复了 sunmoon1983 创建的主题 MySQL 求各位大佬给些报表优化的思路?
@yasea @agui2200 能不能抽出可能用到的字段,建个小小的覆盖索引呢?

比如,(行政编码, 性别, 年份, 年龄, 项目 ID ),看起来一行只需 5+10+1+2+1+4+8 = 31 字节,100W 行索引只需 30 MB

如果不指定『当前地区』,扫全部索引也能满足各种查询需求。
如果指定了『当前地区』,可能只需扫几百上千行,几百 KB 的索引即可统计出来。
2023-01-02 13:34:24 +08:00
回复了 sunmoon1983 创建的主题 MySQL 求各位大佬给些报表优化的思路?
@sunmoon1983 你查询的 SQL 是怎么写的呢?
2022-12-23 19:55:34 +08:00
回复了 winnerczwx 创建的主题 程序员 求问一个算法问题
如果取值范围是 0 ~ 100 ,一个三维坐标可以映射到一个 0 ~ (101^3-1) 的整数,后面就是生成不重复的随机整数就好

如果换成 bitmap 存储,大概只需 16 KB 内存即可?
2022-12-23 19:42:10 +08:00
回复了 WhatMelon 创建的主题 程序员 shell 问题求助
这种 `shs=(`find ./core* `)` 方式,文件名有空格就出错了。。
2022-12-21 20:00:22 +08:00
回复了 WordTian 创建的主题 Python 万万没想到, Python 的字符串裁切函数居然还能有 bug
你可能想用的是 `removesuffix`

上一个犯过类似错误的帖子:/t/880251
@lslqtz 为啥不能应用于普通音频文件应用呢?
@jim9606 和 AAC 相比咋样?可以代替它用于一般音频上吗?(比如视频中的音频流、平时音乐 /人声存储啥的)
1 ... 5  6  7  8  9  10  11  12  13  14 ... 28  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3584 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 35ms · UTC 10:29 · PVG 18:29 · LAX 03:29 · JFK 06:29
Developed with CodeLauncher
♥ Do have faith in what you're doing.