V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  wxf666  ›  全部回复第 7 页 / 共 26 页
回复总数  516
1 ... 3  4  5  6  7  8  9  10  11  12 ... 26  
311 天前
回复了 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 代码:

...
311 天前
回复了 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 能不能根据过去放假数据,总结规律,预测出未来的假期呢?(假设节日种类及放假调休天数不变)
@whooami 如果你不介意额外占用 10 倍空间,你可以用《闭包表》。

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

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

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

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

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

做不出来,怎么指望它能胜任其他任务呢?
2023-02-16 12:49:22 +08:00
回复了 iloveMonica 创建的主题 程序员 请教各位是怎么处理冗余用户信息的
为啥“找回密码”和“搜索账号”会遍历全表??
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 相比咋样?可以代替它用于一般音频上吗?(比如视频中的音频流、平时音乐 /人声存储啥的)
@msg7086 @Slurp 其实我觉得,即使是 32K 时,AAC he_v2 的质量也比 OPUS 高(但专门转码人声的话,确实 OPUS 强)

@lslqtz 不会吧。。难道现在各种视频、应用等,都用的 FLAC 吗?
2022-12-09 16:03:22 +08:00
回复了 wloverine 创建的主题 程序员 Hive SQL 题求教
@SbloodyS 那 8 楼的 SQL ,应该没有哪款数据库能运行了。因为:

```sql
SELECT ... LAG(start_date) ... AS start_date
...
```
2022-12-09 14:53:30 +08:00
回复了 wloverine 创建的主题 程序员 Hive SQL 题求教
@SbloodyS 是说,没法在 `... AS a` 内使用 `a`,是吧?

但可以 `... AS a, (a + 1) AS b`?
2022-12-09 13:25:23 +08:00
回复了 wloverine 创建的主题 程序员 Hive SQL 题求教
@SbloodyS 突然很好奇,如果 Clickhouse 支持直接用别名的话,下面这种 SQL 会计算成什么?

```sql
SELECT IF(id % 2, LEAD(a) OVER (...), LAG(a) OVER (...)) AS a
FROM ...
```

大意:若 id 为奇数,则取下一行的值,否则取上一行的值
1 ... 3  4  5  6  7  8  9  10  11  12 ... 26  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   863 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 24ms · UTC 20:43 · PVG 04:43 · LAX 13:43 · JFK 16:43
Developed with CodeLauncher
♥ Do have faith in what you're doing.