V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  brader  ›  全部回复第 127 页 / 共 151 页
回复总数  3007
1 ... 123  124  125  126  127  128  129  130  131  132 ... 151  
2022-11-16 18:32:11 +08:00
回复了 diandian666 创建的主题 程序员 十年程序员难倒了一个算法上面,真的老了
我建议直接暴力穷举,因为既然人工能看的过来,不可能计算机穷举不完
2022-11-16 09:29:43 +08:00
回复了 brader 创建的主题 程序员 请教个 sql 查询问题
@xuanbg 我看过查询计划,是有用上索引的,而且这个用上的索引,当时是我尝试性根据 where 条件针对性加的联合索引
2022-11-16 09:28:21 +08:00
回复了 brader 创建的主题 程序员 请教个 sql 查询问题
@yogogo 这个表示是不得已的,因为主表是 1 ,对到这个表是 n ,而且这个表的辅助筛选字段不仅仅是 brand_id ,还有很多其他字段
2022-11-16 09:27:27 +08:00
回复了 brader 创建的主题 程序员 请教个 sql 查询问题
@wxf666 表结构有点敏感,怕被同事认出,哈哈
2022-11-15 18:22:02 +08:00
回复了 brader 创建的主题 程序员 请教个 sql 查询问题
@notwaste 其实不止京东,最具参考的应该是美团外卖的 APP ,他们的分类展示设计逻辑都是非常简洁高效的,比我这个需求都简洁很多,美团就是直接读取当前商家创建展示的分类,是不会管你这个分类有没有商品的,我清楚这块是因为我在美团 APP 开过店
2022-11-15 18:19:55 +08:00
回复了 brader 创建的主题 程序员 请教个 sql 查询问题
@notwaste 反复和产品沟通过,也说明了他这个需求这样子展示分类的利弊,但是产品不肯妥协,只能自己想办法了
2022-11-15 18:18:59 +08:00
回复了 brader 创建的主题 程序员 请教个 sql 查询问题
@morty0 这是一个很好的方法,但是时间以及服务器资源没有条件给我发挥,而且搜索方面的话,我们项目也有用阿里的开放搜索,这个比 es 更强大,就是为了这个需求再买一个开放搜索实例,领导不会允许的。。。
2022-11-15 18:17:27 +08:00
回复了 brader 创建的主题 程序员 请教个 sql 查询问题
@yogogo 不行,还是一样慢,估计还是里面数据太多了
2022-11-15 17:03:50 +08:00
回复了 brader 创建的主题 程序员 请教个 sql 查询问题
@yogogo 很感谢您的回答,刚才我使用您提供的思路,进行了尝试,查询计划显示是非常优良的,但是实际执行效果却不太理想。

sql 语句参考:
```
SELECT `category_id`,
(
select max(product.id)
from `product`
INNER JOIN product_bsm_extract ON product_bsm_extract.shop_id= product.shop_id
and product_bsm_extract.product_id= product.id
where product.`cat3_id`= apply_users_category.`category_id`
and product.shop_id= 367
AND `product_brand_id` IN('10113', '10162', '10163', '10164', '10287')
AND product_bsm_extract.brand_id= 1
AND `is_del`= 0) num
FROM `apply_users_category`
WHERE `apply_shop_id`= 367
having num is not null
```

查询计划:
```
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 PRIMARY apply_users_category ref PRIMARY,IDX_CAT_ID PRIMARY 4 const 1 100 Using index
2 DEPENDENT SUBQUERY product ref PRIMARY,IDX_SHOP_DEL,idx_is_del,idx_shop_id,idx_shop_cat_prod idx_shop_cat_prod 8 const,warehouse.apply_users_category.category_id 3138 25 Using index condition; Using where
2 DEPENDENT SUBQUERY product_bsm_extract ref IDX_BRAND_ID,IDX_MAIN,IDX_PRODUCT_ID,IDX_SHOP_ID_PROD_ID IDX_SHOP_ID_PROD_ID 8 const,warehouse.product.id 44 10 Using where
```

实际执行效果:
```
category_id num
199 1246851

[消息] :执行成功,当前返回:[1]行,耗时:[30,566]ms.

```
2022-11-15 15:47:30 +08:00
回复了 brader 创建的主题 程序员 请教个 sql 查询问题
@yogogo 目前 mysql5.6 ,无法在子查询里面使用 limit
2022-11-15 15:44:29 +08:00
回复了 brader 创建的主题 程序员 请教个 sql 查询问题
@gy123 大概 6000 万
2022-11-15 14:36:41 +08:00
回复了 brader 创建的主题 程序员 请教个 sql 查询问题
@gy123 单缓存分类条件的话,辨识度不高,主要是车型太多了,有些一个商品绑了 5 万多个车型
2022-11-15 14:34:32 +08:00
回复了 brader 创建的主题 程序员 请教个 sql 查询问题
@dqzcwxb 可能我描述的不是很到位,代码是刚写的,我很确认代码逻辑上是没有双层循环的,只循环查询了分类列表,这个分类列表也很有限,100 个以内,压力主要在数据库
2022-11-15 14:32:32 +08:00
回复了 brader 创建的主题 程序员 请教个 sql 查询问题
@Dganzh 没有尝试过,因为目前二三十个分类循环,响应时间还是挺快的,项目是 PHP 写的,也不怎么方便开多线程并发
2022-11-15 14:12:11 +08:00
回复了 brader 创建的主题 程序员 请教个 sql 查询问题
@dqzcwxb 目前就是采用循环查询的,也加了 5 分钟缓存,不过缓存作用不是特别大,因为用户输入、筛选构建的搜索查询条件时时在变化。hashjoin 没听过,哈哈。
2022-11-15 11:50:31 +08:00
回复了 brader 创建的主题 程序员 请教个 sql 查询问题
@zlhsvc 没到分页的程度,是我筛都筛不动,比如这个店铺 100 个分类,这个搜索条件下只有 5 个分类存在商品,你说 5 个分类还有必要分页吗?但是我要从几千万数据中根据搜索条件筛选出这 5 个分类,这一步就太难了,很慢
2022-11-15 11:48:54 +08:00
回复了 brader 创建的主题 程序员 请教个 sql 查询问题
@nekolr 其实分类也不多,举个详细点的例子,某个店铺授权了 100 个分类,但当前搜索条件下,存在商品的分类,筛选完只有 15 个,你说多吗?不多,但是这个筛选,就是我上面说的,筛不动。。。
2022-11-09 16:18:59 +08:00
回复了 brader 创建的主题 程序员 合同更换到另一家公司要同意吗?
@hello267015 刚好有这个打算,广州,打算通过系统集成证书落户,这个还和企业有无落户资质有关?
2022-11-07 11:42:33 +08:00
回复了 yigeshitou 创建的主题 程序员 其他的 json 在线编辑广告有点多,俺就自己搭了一个。。
FeHelper+1
1 ... 123  124  125  126  127  128  129  130  131  132 ... 151  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5181 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 35ms · UTC 09:37 · PVG 17:37 · LAX 02:37 · JFK 05:37
Developed with CodeLauncher
♥ Do have faith in what you're doing.