使用 MySQL Date/Time 类型


Posted in PHP onMarch 26, 2008

 由于曾经和他是同一个团队的,所以对于其我很熟悉他那“洁癖”的做法,对于他的很多的观点我也非常的赞同;但是有一件非常不理解的地方就是设计数据库的时候总是会回避使用 Date/Time 类型。他的做法是将时间相关的字段设置为 INT(10) 类型,然后用 UNIX 时间戳来存储。而我本人对于这点做法非常的不赞同:

首先,是类型操作的不同,类似于 wiLdGoose 这样做法的“时间计算”实质上是整形之间的操作(而且这个整形非常大,长度为 10)。更有甚者,将时间戳设置为 VARCHAR(10) ,由此引发的效率问题不言而喻。

至于时间计算和整形计算乃至字符串的计算的效率问题,这篇文章非常能说明问题。

其次,是逻辑方面的操作问题。这是使用时间类型的优势,尤其是在需要高精度的项目上。比如需要“前一个星期的数据”和“获得从数据库建立以来每个星期一的数据”,这样的操作如用 wiLdGoose 兄的做法复杂度可想而知。

最后,就是直观不直观的问题,可以理解的是我们的大脑是不会直接将这一大串的时间戳转换成日期格式的。相比而言,直接使用时间类型明显就直观得多(它本身就是时间格式)。

而我目前的团队也还是在使用类似的方法。本人对于类似技术细节也争执了良久,但由于岗位和决定权的问题,团队还是无法采纳本人的意见,甚为遗憾。

MySQL 定位为简单快速的 DBM 自然能迅速的驾驭,但是另一方面很容易造成不会深入下去的局面。对于此,我们更应该注意每一项的数据库设计细节,一项产品不断添加新的功能到最后都是面向应用的。

最后,附 MySQL 官方的时间和日期函数的手册。

PHP 相关文章推荐
织梦模板标记简介
Mar 11 PHP
PHP中的函数嵌套层数限制分析
Jun 13 PHP
比较简单的百度网盘文件直链PHP代码
Mar 24 PHP
基于PHP输出缓存(output_buffering)的深入理解
Jun 13 PHP
PHP SPL使用方法和他的威力
Nov 12 PHP
php发送与接收流文件的方法
Feb 11 PHP
php基于Snoopy解析网页html的方法
Jul 09 PHP
php把时间戳转换成多少时间之前函数的实例
Nov 16 PHP
PHP文件系统管理(实例讲解)
Sep 19 PHP
PHP实现二维数组中的查找算法小结
Jun 09 PHP
Laravel框架中集成MongoDB和使用详解
Oct 17 PHP
PHP架构及原理知识点详解
Dec 22 PHP
MySQL修改密码方法总结
Mar 25 #PHP
用phpmyadmin更改mysql5.0登录密码
Mar 25 #PHP
常用的php ADODB使用方法集锦
Mar 25 #PHP
PHP中ADODB类详解
Mar 25 #PHP
php下判断数组中是否存在相同的值array_unique
Mar 25 #PHP
php获取mysql版本的几种方法小结
Mar 25 #PHP
非常不错的MySQL优化的8条经验
Mar 24 #PHP
You might like
php5.2以下版本无json_decode函数的解决方法
2014/05/25 PHP
Dwz与thinkphp整合下的数据导出到Excel实例
2014/12/04 PHP
php检测图片主要颜色的方法
2015/07/01 PHP
极酷的javascirpt,让你随意编辑任何网页
2007/02/25 Javascript
javascript 简练的几个函数
2009/08/29 Javascript
常用Extjs工具:Extjs.util.Format使用方法
2012/03/22 Javascript
解析offsetHeight,clientHeight,scrollHeight之间的区别
2013/11/20 Javascript
Javascript仿新浪游戏频道鼠标悬停显示子菜单效果
2015/08/21 Javascript
简单介绍JavaScript数据类型之隐式类型转换
2015/12/28 Javascript
jquery中live()方法和bind()方法区别分析
2016/06/23 Javascript
在html中引入外部js文件,并调用带参函数的方法
2016/10/31 Javascript
AngularJS解决ng界面长表达式(ui-set)的方法分析
2016/11/07 Javascript
Vuex提升学习篇
2018/01/11 Javascript
JS实现不用中间变量temp 实现两个变量值得交换方法
2018/02/04 Javascript
vue打包相关细节整理(小结)
2018/09/28 Javascript
js实现div色块拖动录制
2020/01/16 Javascript
[56:46]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 VP vs Effect
2018/04/01 DOTA
python3使用flask编写注册post接口的方法
2018/12/28 Python
Python高级特性——详解多维数组切片(Slice)
2019/11/26 Python
在notepad++中实现直接运行python代码
2019/12/18 Python
手动安装python3.6的操作过程详解
2020/01/13 Python
超全Python图像处理讲解(多模块实现)
2020/04/13 Python
python判断all函数输出结果是否为true的方法
2020/12/03 Python
美国著名的户外用品品牌:L.L.Bean
2018/01/05 全球购物
Kate Spade澳大利亚官方网站:美国设计师手袋品牌
2019/09/10 全球购物
static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
2015/02/22 面试题
《小白兔和小灰兔》教学反思
2014/02/18 职场文书
就业推荐表自我鉴定范文
2014/03/21 职场文书
纠纷协议书
2014/04/16 职场文书
小学德育工作经验交流材料
2014/05/22 职场文书
授权委托书(法人单位用)
2014/09/29 职场文书
安全生产感想
2015/08/07 职场文书
电力安全教育培训心得体会
2016/01/11 职场文书
详解NodeJS模块化
2021/06/15 NodeJs
微信告警的zabbix监控系统 监控整个NGINX集群
2022/04/18 Servers
ubuntu端向日葵键盘输入卡顿问题及解决
2022/12/24 Servers