mysql 树状结构设计教训

公司一次对mysql 树状结构设计教训吧,message表示一条微博,微博可以被转发,如果一条微博被转发一万次,会产生一万条微博。

但致命的是,我们在表结构设计的时候没有保存root_id,导致的后果是,如果要找一条原发只能通过photo_id +category来查询,比如:

explain  select id from message_message where status=0 and (category=1 or category=9) and  photo_id =329515

 这样的后果是mysql扫描rows和被收集数成正比,几个收集量比较大ID就能导致mysql产生上万次的行扫描:

 


mysql 树状结构设计教训_第1张图片

 

 

 

你可能感兴趣的:(mysql)