使用 MySQL Date/Time 类型


Posted in PHP onMarch 26, 2008

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

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

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

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

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

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

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

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

PHP 相关文章推荐
php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别
Sep 05 PHP
PHP 单引号与双引号的区别
Nov 24 PHP
DW中链接mysql数据库时,建立字符集中文出现乱码的解决方法
Mar 27 PHP
为IP查询添加GOOGLE地图功能的代码
Aug 08 PHP
PHP取得一个类的属性和方法的实现代码
May 22 PHP
解析php防止form重复提交的方法
Jul 01 PHP
IIS6.0中配置php服务全过程解析
Aug 07 PHP
php简单实现屏蔽指定ip段用户的访问
Apr 29 PHP
使用php-timeit估计php函数的执行时间
Sep 06 PHP
PHP 数组基本操作方法详解
Jun 17 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
Oct 24 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绘图函数实现简单验证码功能的方法
2016/10/18 PHP
YII中Ueditor富文本编辑器文件和图片上传的配置图文教程
2017/03/15 PHP
laravel 解决crontab不执行的问题
2019/10/22 PHP
PHP 自动加载类原理与用法实例分析
2020/04/14 PHP
JavaScript开发时的五个注意事项
2007/12/08 Javascript
为JavaScript提供睡眠功能(sleep) 自编译JS引擎
2010/08/16 Javascript
解决Jquery鼠标经过不停滑动的问题
2014/03/03 Javascript
clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切
2015/10/10 Javascript
jquery判断对象是否为空并遍历对象的简单实例
2016/07/26 Javascript
jQuery实现两个select控件的互移操作
2016/12/22 Javascript
js遮罩效果制作弹出注册界面效果
2017/01/25 Javascript
js基于FileSaver.js 浏览器导出Excel文件的示例
2017/08/15 Javascript
Vue开发之封装上传文件组件与用法示例
2019/04/25 Javascript
小程序实现搜索界面 小程序实现推荐搜索列表效果
2019/05/18 Javascript
jQuery子选择器与可见性选择器实例分析
2019/06/28 jQuery
JavaScript字符串处理常见操作方法小结
2019/11/15 Javascript
Vue+ElementUI 中级联选择器Bug问题的解决
2020/07/31 Javascript
haskell实现多线程服务器实例代码
2013/11/26 Python
Python爬取国外天气预报网站的方法
2015/07/10 Python
Python进度条实时显示处理进度的示例代码
2018/01/30 Python
Python常见的pandas用法demo示例
2019/03/16 Python
python制作简单五子棋游戏
2019/06/18 Python
python+openCV调用摄像头拍摄和处理图片的实现
2019/08/06 Python
python新手学习可变和不可变对象
2020/06/11 Python
Windows下PyCharm配置Anaconda环境(超详细教程)
2020/07/31 Python
魔声耳机官方网站:Monster是世界第一品牌的高性能耳机
2016/10/26 全球购物
英国发展最快的在线超市之一:Click Marketplace
2021/02/15 全球购物
七一表彰活动方案
2014/01/18 职场文书
2014年教师节寄语
2014/08/11 职场文书
应届生求职自荐信范文
2015/03/04 职场文书
单位介绍信格式范文
2015/05/04 职场文书
社区志愿者服务心得体会
2016/01/22 职场文书
python生成随机数、随机字符、随机字符串
2021/04/06 Python
深入浅析Redis 集群伸缩原理
2021/05/15 Redis
react使用antd的上传组件实现文件表单一起提交功能(完整代码)
2021/06/29 Javascript
JavaScript正则表达式实现注册信息校验功能
2022/05/30 Java/Android