您好,欢迎光临! 推荐您使用Chrome浏览器访问本站。

数据库设计时需考虑的因素

703 views
数据库设计时需考虑的因素设计数据库时需遵守的几个原则 •三个范式 •满足当前需求 •分离主体与附属 •适当的冗余 •应对可能出现的新需求 •应对大数据量 三个范式 第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解; 第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性; 第三范式:3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。 参考:http://www.cnblogs.com/knowledgesea/p/3667395.html 满足当前需求 数据结构的设计要能达到应用场景的要求,这是最基本的。举个例子,文章的......

STRICT_TRANS_TABLES mysql严格模式

598 views
STRICT_TRANS_TABLES mysql严格模式Incorrect integer value: ”for column ‘id’ at row 1 MySQL 1364 错误提示:#1364 – Field “details” doesn’t have a default value 上面两种错误可能是开启mysql中的严格模式   只需关闭即可,关闭方法: 1、在安装mysql的时候去除默认勾选的enable strict SQL mode 2、更改mysql中的配置 my.ini my.ini中查找sql-mode, 默认为 sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”, 将其修改为 sql-mode=”NO_AUTO_CREATE_USER,NO_EN......

MySQL分区(partion)概述

554 views
MySQL分区(partion)概述在MySQL中,InnoDB存储引擎长期支持表空间的概念,并且MySQL服务器甚至在分区引入之前,就能配置为存储不同的数据库使用不同的物理路径。分区(partion)更进一步,它允许你通过设置各种规则将一个表的各个分区跨文件系统存储。实际上,不同位置的不同表分区是作为一个单独的表来存储的。用户所选择的、实现数据分割的规则被称为分区函数(partioning function),这在MySQL中它可以是模数,或者是简单的匹配一个连续的数值区间或数值列表,或者是一个内部HASH函数,或一个线性HASH函数。 最常见是的水平分区(horizontal partitioning)......

decimal、float、double三者区别

509 views
decimal、float、double三者区别三者的区别介绍   float:浮点型,含字节数为4,32bit,数值范围为-3.4E38~3.4E38(7个有效位) double:双精度实型,含字节数为8,64bit数值范围-1.7E308~1.7E308(15个有效位) decimal:数字型,128bit,不存在精度损失,常用于银行帐目计算。(28个有效位)   按存储的范围进行排序   float(real) double decimal(numeric)   decimal的详细介绍   decimal(a,b) 参数说明 a指定指定小数点左边和右边可以存储的十进制数字的最大个数,最大精度38。 b指定小数点右边可以存储的十进制数字的最大个数。小......

秒杀核心设计(减库存部分)-防超卖与高并发

1,175 views
秒杀核心设计(减库存部分)-防超卖与高并发假设有两个表,一个存放buy_record用户秒杀记录,一个是产品表goods 通过在buy_record添加uid,goods_id并加唯一索引 开启事务 插入 insert into buy_record if(唯一索引报错?){ 抛异常,用户已经秒过了,回滚 }else{ update goods set goods_num=goods_num-1  where goods_id=$goods_id and goods_num>0 ;//更新库存 if(受影响行数<=0){ 抛异常,商品秒完了,回滚 } }       其他方案: 主要思路: 1、前端三板斧【扩容】【限流】【静态化】 2、后端两条路【内存】+【排队】   解决方案1: 将存库从MySQL......