使用 MySQL Date/Time 类型


Posted in PHP onMarch 26, 2008

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

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

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

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

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

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

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

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

PHP 相关文章推荐
用来给图片加水印的PHP类
Apr 09 PHP
PHP教程 变量定义
Oct 23 PHP
php学习笔记之面向对象编程
Dec 29 PHP
基于xcache的配置与使用详解
Jun 18 PHP
PHP实现变色验证码实例
Jan 06 PHP
php获取apk包信息的方法
Aug 15 PHP
php简单实现快速排序的方法
Apr 04 PHP
大家都应该掌握的PHP关联数组使用技巧
Dec 25 PHP
php foreach如何跳出两层循环(详解)
Nov 05 PHP
Yii框架分页实现方法详解
May 20 PHP
PHP 结合 Boostrap 结合 js 实现学生列表删除编辑及搜索功能
May 21 PHP
laravel实现前后台路由分离的方法
Oct 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三元运算符的结合性介绍
2012/01/10 PHP
php实现当前页面点击下载文件的简单方法
2016/09/22 PHP
PHP将身份证正反面两张照片合成一张图片的代码
2017/04/08 PHP
使用jscript实现二进制读写脚本代码
2008/06/09 Javascript
js 定时器setTimeout无法调用局部变量的解决办法
2013/11/28 Javascript
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
2015/11/13 Javascript
快速学习jQuery插件 Form表单插件使用方法
2015/12/01 Javascript
关于JavaScript 原型链的一点个人理解
2016/07/31 Javascript
Ajax的概述与实现过程
2016/11/18 Javascript
基于daterangepicker日历插件使用参数注意的问题
2017/08/10 Javascript
js实现简易聊天对话框
2017/08/17 Javascript
bootstrap+jquery项目引入文件报错的解决方法
2018/01/22 jQuery
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
2019/04/18 Javascript
小程序富文本提取图片可放大缩小
2020/05/26 Javascript
javascript实现贪吃蛇游戏(娱乐版)
2020/08/17 Javascript
微信小程序中target和currentTarget的区别小结
2020/11/06 Javascript
小程序实现tab标签页
2020/11/16 Javascript
python在windows下实现ping操作并接收返回信息的方法
2015/03/20 Python
Python选择排序、冒泡排序、合并排序代码实例
2015/04/10 Python
Python标准库defaultdict模块使用示例
2015/04/28 Python
基于wxPython的GUI实现输入对话框(1)
2019/02/27 Python
python Pandas库基础分析之时间序列的处理详解
2019/07/13 Python
500行python代码实现飞机大战
2020/04/24 Python
如何一键升级Python所有包
2020/11/05 Python
python 制作本地应用搜索工具
2021/02/27 Python
斯凯奇美国官网:SKECHERS美国
2016/08/20 全球购物
美国最大的在线寄售和旧货店:Swap.com
2018/08/27 全球购物
上海微创软件面试题
2012/06/14 面试题
经济职业学院毕业生自荐书
2014/03/17 职场文书
学生个人自我鉴定范文
2014/03/28 职场文书
实习协议书范本
2014/04/22 职场文书
党支部反对四风思想汇报
2014/10/10 职场文书
工厂见习报告范文
2014/10/31 职场文书
学生会辞职信
2015/03/02 职场文书
教师工作表现自我评价
2015/03/05 职场文书
golang连接MySQl使用sqlx库
2022/04/14 Golang