![]() | 1 hooopo 2020-09-27 13:13:22 +08:00 via Android 用 postgres 有布隆索引 |
![]() | 2 shaoyijiong 2020-09-27 13:20:36 +08:00 要不上 es |
![]() | 3 RickyC OP |
![]() | 4 aimaodeyuer 2020-09-27 13:33:30 +08:00 @RickyC es 完美适配 |
![]() | 5 nomansky   2020-09-27 13:37:13 +08:00 binlog 订阅同步到 es,在 es 里面做查询 |
![]() | 6 fareware 2020-09-27 14:08:23 +08:00 ![]() 如果是 MySQL , 很多时候,建了很多索引恰恰是选错的索引的原因。 可选出几个慢查询,explain 是否真正使用了你想让 MySQL 使用的最佳索引。 如果的确使用了期望索引,还很慢,可能是索引区分度过低,业务是否可调整?保证大部分查询可以用到良好的索引。 如果业务无法调整,对于 1k 余种查询组合,宽表还是多表 join ?宽表是否可拆分,多表 join 是否可优化。 如果使用缓存,读多写少,还是读少写多?前者如何保证缓存高可用?后者不适合使用缓存。是否有冷热数据? 如果使用 ES,如何保证一致性,如何处理深度分页.... 我一直觉得,做技术和做事,都要循序渐进,新技术名词不是撑门面的,合适地方用合适东西,保证可演进。 单一句“用 Es”, 那不如直接一步到位,搜搜最牛掰的搜索架构得了。 |
![]() | 7 encro 2020-09-27 15:18:34 +08:00 同意楼上,先 explain 语句看看吧。 Why slow ?毕竟 mysql 的专家们并不比 es 专家傻。。。 瓶颈究竟在磁盘还是内存还是 CPU ? 连单机 SQL 都用不好去用分布式的 ES? |
![]() | 8 encro 2020-09-27 15:19:50 +08:00 我在阿里云 rds 一个 1h1g 的数据库,已经妥妥跑了近亿数据,平均时间不超过 0.2s 。 |
![]() | 9 wangyzj 2020-09-27 15:59:38 +08:00 理论上千万数据,优化好查询,不应该出问题才对 结构化查询我觉得上 es 有点过了 |
![]() | 10 daxin945 2020-09-27 16:13:48 +08:00 如果业务中聚合使用的比较多的话 可以尝试下 ClickHouse |
11 ylsc633 2020-09-27 16:54:09 +08:00 千万数据 只要命中索引 肯定没有任何性能问题 建议 explain 看一下 然后优化一下 sql 语句 我好几个亿的表查询都没有这么慢 |
![]() | 12 RickyC OP |
![]() | 13 Rekkles 2020-09-27 17:25:51 +08:00 刚刚测试 mysql5.7 单表 11G 1400w+条 查询 5w 条 id 耗时 43ms |