使用 MySQL Date/Time 类型


Posted in PHP onMarch 26, 2008

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

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

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

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

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

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

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

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

PHP 相关文章推荐
php数据结构 算法(PHP描述) 简单选择排序 simple selection sort
Aug 09 PHP
PHP使用imagick读取PDF生成png缩略图的两种方法
Mar 20 PHP
php实现mysql封装类示例
May 07 PHP
PHP判断表单复选框选中状态完整例子
Jun 24 PHP
ThinkPHP中自定义目录结构的设置方法
Aug 15 PHP
PHP+jQuery翻板抽奖功能实现
Oct 19 PHP
浅谈PHP中其他类型转化为Bool类型
Mar 28 PHP
PHP封装的数据库保存session功能类
Jul 11 PHP
php获取文件名称和扩展名的方法
Feb 07 PHP
PHP设计模式之外观模式(Facade)入门与应用详解
Dec 13 PHP
php经典趣味算法实例代码
Jan 21 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
Apr 13 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
php中目录,文件操作详谈
2007/03/19 PHP
实现PHP多线程异步请求的3种方法
2014/01/17 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
php自动加载代码实例详解
2021/02/26 PHP
JS中字符问题(二进制/十进制/十六进制及ASCII码之间的转换)
2008/11/03 Javascript
javascript中对Attr(dom中属性)的操作示例讲解
2013/12/02 Javascript
jquery跟js初始化加载的多种方法及区别介绍
2014/04/02 Javascript
jQuery实现鼠标划过添加和删除class的方法
2015/06/26 Javascript
详解Bootstrap四种图片样式
2016/01/04 Javascript
深入浅析JavaScript中with语句的理解
2016/05/12 Javascript
Node.js中看JavaScript的引用
2017/04/22 Javascript
jQuery EasyUI window窗口使用实例代码
2017/12/25 jQuery
JQuery Ajax跨域调用和非跨域调用问题实例分析
2019/04/16 jQuery
layui table数据修改的回显方法
2019/09/04 Javascript
ant-design-vue中tree增删改的操作方法
2020/11/03 Javascript
vue 获取url参数、get参数返回数组的操作
2020/11/12 Javascript
[07:59]2014DOTA2叨叨刀塔 林熊猫称被邀请赛现场盛况震撼
2014/07/21 DOTA
[58:00]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第二场 2月7日
2021/03/11 DOTA
12步教你理解Python装饰器
2016/02/25 Python
python如何定义带参数的装饰器
2018/03/20 Python
Python3开发实例之非关系型图数据库Neo4j安装方法及Python3连接操作Neo4j方法实例
2020/03/18 Python
基于PyQT实现区分左键双击和单击
2020/05/19 Python
Pyinstaller加密打包应用的示例代码
2020/06/11 Python
基于 HTML5 Canvas实现 的交互式地铁线路图
2018/03/05 HTML / CSS
html5 canvas简单封装一个echarts实现不了的饼图
2018/06/12 HTML / CSS
Laura Mercier官网:彩妆大师罗拉玛斯亚的化妆品牌
2018/01/04 全球购物
Charlotte Tilbury澳大利亚官网:英国美妆品牌
2018/10/05 全球购物
英国亚马逊官方网站:Amazon.co.uk
2019/08/09 全球购物
自荐信封面
2013/12/04 职场文书
公司出纳岗位职责
2013/12/07 职场文书
临时工聘用合同协议书
2014/10/29 职场文书
研究生毕业论文导师评语
2014/12/31 职场文书
避暑山庄导游词
2015/02/04 职场文书
酒会开场白大全
2015/06/01 职场文书
厉行节约工作总结
2015/08/12 职场文书
Nginx开源可视化配置工具NginxConfig使用教程
2022/06/21 Servers