![]() | 1 yulitian888 2018-04-18 08:35:35 +08:00 遇到性能慢了感觉到必须优化了再考虑 百万千万级的,如果是有索引的查询,根本不慢 |
2 johnny23 2018-04-18 08:41:41 +08:00 via iPhone 坐等大佬分析 |
![]() | 3 tomczhen 2018-04-18 08:44:03 +08:00 via Android OLAP 和 OLTP 要求不一样,反范式是必要的“妥协”。 |
![]() | 4 lol173 2018-04-18 08:44:16 +08:00 数据进入某一个状态后应该使用冗余了保存的,例如已经下单的商品、商品的价格等等,索引要用上,数据大了水平分表也应该用上,统计数据做阶段性统计数据表,略略略就这么多了 |
![]() | 5 shakoon 2018-04-18 09:04:08 +08:00 量级和服务器性能有关,破机器百万级就很慢了,好机器上亿条也能秒级处理。另外我觉得首先是考虑表分区啊,建什么冗余字段 |
6 projectzoo 2018-04-18 09:09:10 +08:00 百万千万现在一般机器都很好吧 自己实测一下不就好咯? |
![]() | 7 quickma 2018-04-18 09:38:10 +08:00 冗余字段的设计是有道理的,或许有时候水平分库就是错误的区分 |
![]() | 8 whypool 2018-04-18 09:46:19 +08:00 同问 不用冗余字段,查询需要 join 多个表,有些数据生成了修改的可能性很小,如果弄到一个表去,一个 select 就出数据了 所以,是严格按照范式设计表么? |
![]() | 9 Hozzz 2018-04-18 10:42:39 +08:00 看预期值了,你要是一条 sql 进去,10 秒出来能接受,那就没必要考虑这些;要是 1 秒都不能接受,那就可以考虑怎么优化了。 |
10 dbpe OP |
11 dbpe OP 上面表述不清楚,应该是机器性能制胜论 |
12 Cbdy 2018-04-18 14:20:11 +08:00 via Android 范式只是一种设计模式,有优点也有缺点,反范式也有优点和缺点,设计的时候要权衡一下 |
13 hcymk2 2018-04-18 14:32:42 +08:00 冗余字段其实有另外的一个问题, 你得保证你的冗余字段值的正确。 |
![]() | 14 weizhen199 2018-04-18 14:33:02 +08:00 冗余和索引有点类似的。 牺牲删改时间换查询时间 这东西说实话挺经验的,和模电一样毛估估 |
15 csl1995 2018-04-18 16:42:25 +08:00 索引优化、缓存技术、搜索引擎、优化 sql、硬件之后依然有性能瓶颈时再进行 |
![]() | 16 akira 2018-04-18 16:48:57 +08:00 上班第一天,先把范式设计忘掉 |
19 dbpe OP @weizhen199 还有一点..用空间换时间... |
![]() | 20 Miy4mori 2018-04-18 18:22:25 +08:00 维护冗余字段的代价有点 |
![]() | 21 Dawnki 2018-04-19 00:58:53 +08:00 via iPhone 看看《高性能 Mysql 》吧,有时追求性能确实要牺牲一些约束和范式的 |
![]() | 22 Dawnki 2018-04-19 01:01:15 +08:00 via iPhone 不过优化这东西是一步一步来的,遇到慢查询时才需要另辟蹊径,一开始不要过于看重优化. |