使用 MySQL Date/Time 类型


Posted in PHP onMarch 26, 2008

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

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

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

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

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

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

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

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

PHP 相关文章推荐
使用PHP 5.0创建图形的巧妙方法
Oct 12 PHP
YII模块实现绑定二级域名的方法
Jul 09 PHP
phpmyadmin出现Cannot start session without errors问题解决方法
Aug 14 PHP
PHP递归创建多级目录
Nov 05 PHP
php验证码生成代码
Nov 11 PHP
Yii快速入门经典教程
Dec 28 PHP
php HTML无刷新提交表单
Apr 05 PHP
PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】
Feb 07 PHP
PHP实现对图片的反色处理功能【测试可用】
Feb 01 PHP
Yii框架响应组件用法实例分析
Sep 04 PHP
Thinkphp5.0 框架Model模型简单用法分析
Oct 11 PHP
php+laravel 扫码二维码签到功能
May 15 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 substr,mb_substr以及mb_strcut的区别和用法
2013/06/21 PHP
在wamp集成环境下升级php版本(实现方法)
2013/07/01 PHP
PHP采用get获取url汉字出现乱码的解决方法
2014/11/13 PHP
php实现俄罗斯乘法实例
2015/03/07 PHP
javascript 面向对象编程基础:继承
2009/08/21 Javascript
基于jQuery的自动完成插件
2011/02/03 Javascript
javascript中日期转换成时间戳的小例子
2013/03/21 Javascript
js防止表单重复提交的两种方法
2013/09/30 Javascript
jQuery filter函数使用方法
2014/05/19 Javascript
关于获取DIV内部内容报错的原因分析及解决办法
2016/01/29 Javascript
jQuery实现元素拖拽并cookie保存顺序的方法
2016/02/20 Javascript
在javascript中使用com组件的简单实现方法
2016/08/17 Javascript
iview给radio按钮组件加点击事件的实例
2017/09/30 Javascript
Babel 入门教程学习笔记
2018/06/13 Javascript
JS与SQL方式随机生成高强度密码示例
2018/12/29 Javascript
Vue 事件处理操作实例详解
2019/03/05 Javascript
基于vue与element实现创建试卷相关功能(实例代码)
2020/12/07 Vue.js
node.js 基于 STMP 协议和 EWS 协议发送邮件
2021/02/14 Javascript
跟老齐学Python之有点简约的元组
2014/09/24 Python
python Django批量导入不重复数据
2016/03/25 Python
Python内置函数——__import__ 的使用方法
2017/11/24 Python
浅谈Python中重载isinstance继承关系的问题
2018/05/04 Python
python每天定时运行某程序代码
2019/08/16 Python
python 进程 进程池 进程间通信实现解析
2019/08/23 Python
使用python的turtle绘画滑稽脸实例
2019/11/21 Python
Python线程条件变量Condition原理解析
2020/01/20 Python
基于keras 模型、结构、权重保存的实现
2020/01/24 Python
Python实现GIF图倒放
2020/07/16 Python
Perfume’s Club意大利官网:欧洲美妆电商
2019/05/03 全球购物
荷兰鞋类购物网站:Donelli
2019/05/24 全球购物
利用指针变量实现队列的入队操作
2012/04/07 面试题
密封类可以有虚函数吗
2014/08/11 面试题
高中数学教师求职信
2013/10/30 职场文书
诚信考试倡议书
2014/04/15 职场文书
党员学习新党章思想汇报
2014/10/25 职场文书
详解Java分布式事务的 6 种解决方案
2021/06/26 Java/Android