对于任何给定的数据通常有很多种表示方法,从完全的范式化到完全的反范式话,以及两者的折中。在范式化的数据库中,每个事实数据会出现并只出现一次。相反,在反范式化的数据库中,信息是冗余的。如果不熟悉范式和反...
MySQL 三种范式以及反范式
第一范式确保数据表中每列(字段)的原子性,即每个字段都是最小单位,不可拆分。如:用户表(user)中的 user_name,password,nick_name。第二范式在第一范式的基础上,保证表中的...
MySQL 数据类型优化 (五:选择标识符 identifier 以及特殊类型)
一、选择标识符 (identifier)为标识列 (identifier column)选择合适的数据类型非常重要。一般来说更有可能用标识列与其他列进行比较,或者通过标识列寻址其他列。标识列也有可能在...
MySQL 数据类型优化(四:位数据类型)
MySQL 有少数几种存储类型使用紧凑的位存储结构。所有这些位类型,不管底层存储格式和处理方式如何,从技术上来讲都是字符串类型。BIT在 MySQL 5.0 之前,BIT 是 TINYINT 的同义词...
ThinkPHP5 工具类(三:Session 类)
由于PHP自带的session销毁采用GC的销毁,具有诸多弊病,如无法及时清理过期session,所以最好通过程序来判断session是否过期。tp5的 session类说明文档: http...
ThinkPHP5 工具类(二:ShowCode 返回类)
需求:利用ThinkPHP5 实现接口的需要定义统一的返回格式定义ShowCode类namespace app\common\toole; use think\Config; us...
ThinkPHP5 工具类(一:Upload 文件上传类)
ThinkPHP5 自带文件上传类说明 https://www.kancloud.cn/manual/thinkphp5/155159需求:扩展tp5自带的文件上传类实现上传文件分目录管理自...
Centos 定时清理文件(Shell )
服务器每天都会定时备份数据库和文件,时间久了导致磁盘空间不足。所以需要用shell脚本实现定时清理文件。创建shell文件 clear_tmp_file# vi cle...
MySQL 数据类型优化 (三:日期和时间类型)
MySQL 可以使用许多类型来保存日期和时间值,例如 YEAR 和 DATE。 MYSQL 能存储的最小时间粒度为秒。但是 MySQL 也可以使用微秒级的粒度进行临时运算。MySQL 提供两种相似的时...

MySQL 数据类型优化(二:字符串)
MySQL 支持多种字符串类型,每种类型还有很多变化。VARCHAR 和 CHAR 类型VARCHAR 和 CHAR 是两种最主要的字符串类型。不幸的是,很难解释这些值是怎么存储在磁盘和内存中的,因为...