使用 MySQL Date/Time 类型


Posted in PHP onMarch 26, 2008

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

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

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

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

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

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

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

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

PHP 相关文章推荐
来自phpguru得Php Cache类源码
Apr 15 PHP
PHP中的float类型使用说明
Jul 27 PHP
php5 apache 2.2 webservice 创建与配置(java)
Jan 27 PHP
php学习之数据类型之间的转换介绍
Jun 09 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十三)
Jun 26 PHP
浅谈json_encode用法
Mar 05 PHP
php开发微信支付获取用户地址
Oct 04 PHP
PHP的serialize序列化数据以及JSON格式化数据分析
Oct 10 PHP
PHP面向对象程序设计实例分析
Jan 26 PHP
PHP实现可自定义样式的分页类
Mar 29 PHP
Yii2.0多文件上传实例说明
Jul 24 PHP
PHP析构函数destruct与垃圾回收机制的讲解
Mar 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
收集的DedeCMS一些使用经验
2007/03/17 PHP
Http 1.1 Etag 与 Last-Modified提高php效率
2008/01/10 PHP
windows下配置apache+php+mysql时出现问题的处理方法
2014/06/20 PHP
THINKPHP2.0到3.0有哪些改进之处
2015/01/04 PHP
Laravel 5 框架入门(二)构建 Pages 的管理功能
2015/04/09 PHP
php实现图片上传时添加文字和图片水印技巧
2020/04/18 PHP
PHP实现bitmap位图排序与求交集的方法
2016/07/28 PHP
ExtJS[Desktop]实现图标换行示例代码
2013/11/17 Javascript
jQuery实现自动切换播放的经典滑动门效果
2015/09/12 Javascript
Node.js中路径处理模块path详解
2016/11/14 Javascript
JavaScript实现拖拽元素对齐到网格(每次移动固定距离)
2016/11/30 Javascript
JavaScript数据结构之链表的实现
2017/03/19 Javascript
微信小程序顶部可滚动导航效果
2017/10/31 Javascript
vue-router路由与页面间导航实例解析
2017/11/07 Javascript
在vue中多次调用同一个定义全局变量的实例
2018/09/25 Javascript
JQuery获取元素尺寸、位置及页面滚动事件应用示例
2019/05/14 jQuery
JS面向对象编程——ES6 中class的继承用法详解
2020/03/03 Javascript
[06:07]DOTA2-DPC中国联赛 正赛 Ehome vs VG 选手采访
2021/03/11 DOTA
简单介绍Python中的RSS处理
2015/04/13 Python
Python聚类算法之凝聚层次聚类实例分析
2015/11/20 Python
在scrapy中使用phantomJS实现异步爬取的方法
2018/12/17 Python
python图形用户接口实例详解
2019/12/16 Python
使用python 计算百分位数实现数据分箱代码
2020/03/03 Python
CSS3 按钮边框动画的实现
2020/11/12 HTML / CSS
英国文具、办公用品和科技商店:Ryman
2018/09/27 全球购物
运动会广播稿400字
2014/01/25 职场文书
自荐信写法介绍
2014/01/25 职场文书
采购助理岗位职责
2014/02/16 职场文书
少年闰土教学反思
2014/02/22 职场文书
中秋手机店促销方案
2014/06/16 职场文书
我的职业生涯规划:打造自己的运动帝国
2014/09/18 职场文书
2014物价局群众路线对照检查材料思想汇报
2014/09/21 职场文书
工作检讨书怎么写
2015/01/23 职场文书
2015年办公室人员工作总结
2015/05/15 职场文书
《水上飞机》教学反思
2016/02/20 职场文书
动作冒险《Hell Is Us》将采用虚幻5 消灭怪物探索王国
2022/04/13 其他游戏