众所周知..数据库设计有三大范式.
我看书之后发现...
数据量大了..表多了..join 查询效率的就低了..开始设计添加冗余字段...
那么有木有大佬告诉下咱...大概多少量级就可以考虑了?
百万级?千万级?
我看书之后发现...
数据量大了..表多了..join 查询效率的就低了..开始设计添加冗余字段...
那么有木有大佬告诉下咱...大概多少量级就可以考虑了?
百万级?千万级?
|
yulitian888Apr 18, 2018
1
遇到性能慢了感觉到必须优化了再考虑
百万千万级的,如果是有索引的查询,根本不慢 |
|
johnny23Apr 18, 2018 via iPhone
2
坐等大佬分析
|
|
tomczhenApr 18, 2018 via Android
3
OLAP 和 OLTP 要求不一样,反范式是必要的“妥协”。
|
|
lol173Apr 18, 2018
4
数据进入某一个状态后应该使用冗余了保存的,例如已经下单的商品、商品的价格等等,索引要用上,数据大了水平分表也应该用上,统计数据做阶段性统计数据表,略略略就这么多了
|
|
shakoonApr 18, 2018
5
量级和服务器性能有关,破机器百万级就很慢了,好机器上亿条也能秒级处理。另外我觉得首先是考虑表分区啊,建什么冗余字段
|
|
projectzooApr 18, 2018
6
百万千万现在一般机器都很好吧
自己实测一下不就好咯? |
|
quickmaApr 18, 2018
7
冗余字段的设计是有道理的,或许有时候水平分库就是错误的区分
|
|
whypoolApr 18, 2018
8
同问
不用冗余字段,查询需要 join 多个表,有些数据生成了修改的可能性很小,如果弄到一个表去,一个 select 就出数据了 所以,是严格按照范式设计表么? |
|
HozzzApr 18, 2018
9
看预期值了,你要是一条 sql 进去,10 秒出来能接受,那就没必要考虑这些;要是 1 秒都不能接受,那就可以考虑怎么优化了。
|
|
10
|
|
11
上面表述不清楚,应该是机器性能制胜论
|
|
CbdyApr 18, 2018 via Android
12
范式只是一种设计模式,有优点也有缺点,反范式也有优点和缺点,设计的时候要权衡一下
|
|
hcymk2Apr 18, 2018
13
冗余字段其实有另外的一个问题, 你得保证你的冗余字段值的正确。
|
|
weizhen199Apr 18, 2018
14
冗余和索引有点类似的。
牺牲删改时间换查询时间 这东西说实话挺经验的,和模电一样毛估估 |
|
csl1995Apr 18, 2018
15
索引优化、缓存技术、搜索引擎、优化 sql、硬件之后依然有性能瓶颈时再进行
|
|
akiraApr 18, 2018
16
上班第一天,先把范式设计忘掉
|
|
19
@weizhen199 还有一点..用空间换时间...
|
|
Miy4moriApr 18, 2018
20
维护冗余字段的代价有点
|
|
DawnkiApr 19, 2018 via iPhone
21
看看《高性能 Mysql 》吧,有时追求性能确实要牺牲一些约束和范式的
|
|
DawnkiApr 19, 2018 via iPhone
22
不过优化这东西是一步一步来的,遇到慢查询时才需要另辟蹊径,一开始不要过于看重优化.
|