农企新闻网

数据库多表关联问题

发布者:刘原一
导读数据库多表关联:在关系型数据库中,多表关联方式是影响性能最大的技术,把mysql定义为中小型数据库的主要原因是mysql是不支持hash join的,这对多个大表关联查询造成性

数据库多表关联:

在关系型数据库中,多表关联方式是影响性能最大的技术,把mysql定义为中小型数据库的主要原因是mysql是不支持hash join的,这对多个大表关联查询造成性能的瓶颈,因此,在大数据领域,比较少使用mysql作为后台数据库,使用mysql,需要把表设计为宽表,进行反范式设计,减少多表关联,虽然单表的数据量大了,但是查询速度快了非常多,从几十秒降到1秒左右,1秒对大数据应用是可以接受的,在oltp应用是不可接受,因此,在oltp应用数据库会进行分库分表设计,这属于垂直拆分,按照业务类型进行拆分多个实例和分库,这属于水平拆分,目标是实现轻数据库重业务模式,很多运算需要放到应用代码执行,这也是基于数据库是CS结构,而业务代码是分布式结构的属性。