使用 MySQL Date/Time 类型


Posted in PHP onMarch 26, 2008

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

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

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

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

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

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

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

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

PHP 相关文章推荐
PHP4实际应用经验篇(6)
Oct 09 PHP
php生成EXCEL的东东
Oct 09 PHP
PHP session有效期session.gc_maxlifetime
Apr 20 PHP
php并发对MYSQL造成压力的解决方法
Feb 21 PHP
PHP中对缓冲区的控制实现代码
Sep 29 PHP
PHP 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定
Jun 12 PHP
codeigniter数据库操作函数汇总
Jun 12 PHP
Fedora下安装php Redis扩展笔记
Sep 03 PHP
php7安装mongoDB扩展的方法分析
Aug 02 PHP
PHP实现基于栈的后缀表达式求值功能
Nov 10 PHP
ThinkPHP5.0框架结合Swoole开发实现WebSocket在线聊天案例详解
Apr 02 PHP
php给数组赋值的实例方法
Sep 26 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 获得汉字拼音首字母的函数
2009/08/01 PHP
PHP 压缩文件夹的类代码
2009/11/05 PHP
PHP静态文件生成类实例
2014/11/29 PHP
php判断文件上传类型及过滤不安全数据的方法
2014/12/17 PHP
C# WinForm中实现快捷键自定义设置实例
2015/01/23 PHP
值得分享的php+ajax实时聊天室
2016/07/20 PHP
对laravel的session获取与存取方法详解
2019/10/08 PHP
javascript下高性能字符串连接StringBuffer类
2010/08/16 Javascript
40个有创意的jQuery图片、内容滑动及弹出插件收藏集之一
2011/12/31 Javascript
打开新窗口关闭当前页面不弹出关闭提示js代码
2013/03/18 Javascript
js数组的操作详解
2013/03/27 Javascript
JS幻灯片可循环播放可平滑旋转带滚动导航(自写)
2013/08/05 Javascript
node.js使用require()函数加载模块
2014/11/26 Javascript
jquery队列函数用法实例
2014/12/16 Javascript
js+css3制作时钟特效
2016/10/16 Javascript
详解如何较好的使用js
2016/12/16 Javascript
jQuery Form表单取值的方法
2017/01/11 Javascript
ES6中的Promise代码详解
2017/10/09 Javascript
简述vue-cli中chainWebpack的使用方法
2019/07/30 Javascript
基于node+vue实现简单的WebSocket聊天功能
2020/02/01 Javascript
如何在JavaScript中使用localStorage详情
2021/02/04 Javascript
Python实现基于权重的随机数2种方法
2015/04/28 Python
Python pass详细介绍及实例代码
2016/11/24 Python
Python 点击指定位置验证码破解的实现代码
2019/09/11 Python
Python数据结构dict常用操作代码实例
2020/03/12 Python
django-xadmin根据当前登录用户动态设置表单字段默认值方式
2020/03/13 Python
中国第一家杂志折扣订阅网:杂志铺
2016/08/30 全球购物
商务英语大学生职业生涯规划书范文
2014/01/01 职场文书
缓刑人员的思想汇报
2014/01/11 职场文书
《植物妈妈有办法》教学反思
2014/02/25 职场文书
网站推广策划方案
2014/06/04 职场文书
学校教学工作总结2015
2015/05/19 职场文书
清洁工工作总结
2015/08/11 职场文书
简短清晨问候语
2015/11/10 职场文书
古诗之感恩老师
2019/10/24 职场文书
MySQL系列之十五 MySQL常用配置和性能压力测试
2021/07/02 MySQL