使用 MySQL Date/Time 类型


Posted in PHP onMarch 26, 2008

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

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

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

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

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

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

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

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

PHP 相关文章推荐
实时抓取YAHOO股票报价的代码
Oct 09 PHP
黑夜路人出的几道php笔试题
Aug 04 PHP
php strcmp使用说明
Apr 22 PHP
PHP sprintf() 函数的应用(定义和用法)
Jun 29 PHP
PHP包含文件函数include、include_once、require、require_once区别总结
Apr 05 PHP
PHP生成等比缩略图类和自定义函数分享
Jun 25 PHP
php用户注册时常用的检验函数实例总结
Dec 22 PHP
smarty模板引擎从配置文件中获取数据的方法
Jan 22 PHP
PHP实现返回JSON和XML的类分享
Jan 28 PHP
PHP中加速、缓存扩展的区别和作用详解(eAccelerator、memcached、xcache、APC )
Jul 09 PHP
PHP 中常量的知识整理
Apr 14 PHP
Yii使用DbTarget实现日志功能的示例代码
Jul 21 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实现读取内存顺序号
2015/03/29 PHP
php一个解析字符串排列数组的方法
2015/05/12 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
2018/09/28 PHP
Laravel 中使用简单的方法跟踪用户是否在线(推荐)
2019/10/30 PHP
js 调用本地exe的例子(支持IE内核的浏览器)
2012/12/26 Javascript
javascript用户注册提示效果的简单实例
2013/08/17 Javascript
javascript获取设置div的高度和宽度兼容任何浏览器
2013/09/22 Javascript
JavaScript前端开发之实现二进制读写操作
2015/11/04 Javascript
jquery实现全选、反选、获得所有选中的checkbox
2020/09/13 Javascript
jquery实现简单文字提示效果
2015/12/02 Javascript
JavaScript实现阿拉伯数字和中文数字互相转换
2016/06/12 Javascript
Javascript的比较汇总
2016/07/25 Javascript
移动端翻页插件dropload.js(支持Zepto和jQuery)
2016/07/27 Javascript
详解JS中的快速排序与冒泡
2017/01/10 Javascript
nodejs根据ip数组在百度地图中进行定位
2017/03/06 NodeJs
React-Native中props具体使用详解
2017/09/04 Javascript
pace.js和NProgress.js两个加载进度插件的一点小总结
2018/01/31 Javascript
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
2018/07/31 jQuery
送你43道JS面试题(收藏)
2019/06/17 Javascript
javascript关于“时间”的一次探索
2019/07/24 Javascript
解决layui的input独占一行的问题
2019/09/10 Javascript
element-ui点击查看大图的方法示例
2020/12/14 Javascript
[03:17]DOTA2英雄基础教程 剧毒术士
2013/12/12 DOTA
Python映射拆分操作符用法实例
2015/05/19 Python
python tkinter库实现气泡屏保和锁屏
2019/07/29 Python
CSS3教程(8):CSS3透明度指南
2009/04/02 HTML / CSS
canvas实现扭蛋机动画效果的示例代码
2018/10/17 HTML / CSS
Lookfantastic香港官网:英国知名美妆购物网站
2018/06/19 全球购物
Brora官网:英国领先的羊绒服装品牌
2019/08/28 全球购物
SOKOLOV官网:俄罗斯珠宝首饰品牌
2021/01/02 全球购物
计算机工程学院个人求职信
2013/10/05 职场文书
2014新年寄语
2014/01/20 职场文书
点菜员岗位职责范本
2014/02/14 职场文书
公务员年度考核个人总结
2015/02/12 职场文书
劳动仲裁撤诉申请书
2015/05/18 职场文书
MySQL 重命名表的操作方法及注意事项
2021/05/21 MySQL