数据库设计
lzf2284466
白纸一张,仍需努力~
展开
-
电商系统设计 商品发货选择离收货地最近的仓库
1、背景:商品选择发货仓库思路:找到距离收货地最近且有货的仓库发货…2、准备工作:需要通过高德、百度地图API,获取收货地址及仓库地址的经纬度,并存入数据lat、lng字段中3、sql语句实现:找到距离收货地最近且有货的仓库idSELECT id,address,b.num,b.sku_id, st_distance( point(122.268278,40.731062) ,point(lng,lat) ) * 111195/1000 distanceFROM t_warehou原创 2020-05-27 23:39:11 · 662 阅读 · 0 评论 -
数据库设计 读多写少、写多读少、写多读多各场景数据库建设方案
数据库建设方案读多写少写多读少写多读多数据库集群方案优缺点读多写少解决方案:采用传统关系型数据库足以应对,若并发量很大,采用mysql集群即可应对!写多读少1、业务场景:滴滴、饭堂刷卡机等,采用传统关系数据库是不适合,因为传统数据库操作涉及事物机制,每次写入操作需要进行undo、redo操作,然后将redo操作记录到日志文件,事物开销是难以承受的2、解决方案一(针对低价值数据):(1)如果低价值数据,可以采用noSQL存储数据(2)noSQL数据库不做sql语法校验,抛弃了复杂的表结构和约原创 2020-05-26 14:20:17 · 6078 阅读 · 0 评论 -
数据库设计 存在主键,为什么还要流水号?
主键是表的唯一标识,经常用于检索,所以应当为数字类型;流水号则是清单凭据的一个字符串,便于阅读,不做检索操作。原创 2020-05-26 12:58:30 · 594 阅读 · 0 评论 -
数据库设计:物理删除VS逻辑删除
物理删除VS逻辑删除物理删除概念代价应用场景逻辑删除结论物理删除概念1、就是用DELETE、TRUNCATE、DROP语句删除数据2、物理删除是把数据从硬盘中删除,释放存储空间,缩小表体积,对性能提升有帮助代价1、物理删除是真的删除,数据恢复难度大2、物理删除会造成主键不连续,导致分页查询数据慢应用场景1、核心业务表的数据不适合做物理删除,只做状态变更。2、随着业务表数据增长,如何既不删除数据,有缩小表体积,可以把记录转移到历史记录表逻辑删除1、即在表中添加一个字段(is_delet原创 2020-05-26 10:59:28 · 2260 阅读 · 0 评论 -
数据库设计:表主键用uuid还是数字
这里写目录标题UUID概念使用场景优点缺点自增长主键优点分布式式主键自动增长实现结论UUID概念UUID: 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的UUID。在这样的情况下,就不需考虑数据库创建时的名称重复问题。mysql查询uuidS原创 2020-05-26 10:45:50 · 2467 阅读 · 0 评论