使用 MySQL Date/Time 类型


Posted in PHP onMarch 26, 2008

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

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

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

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

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

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

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

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

PHP 相关文章推荐
PHP实现采集程序原理和简单示例代码
Mar 18 PHP
php读取csv实现csv文件下载功能
Dec 18 PHP
PHP实现下载断点续传的方法
Nov 12 PHP
PHP变量赋值、代入给JavaScript中的变量
Jun 29 PHP
用PHP代码在网页上生成图片
Jul 01 PHP
详解WordPress开发中的get_post与get_posts函数使用
Jan 04 PHP
关于PHP转换超过2038年日期出错的问题解决
Jun 28 PHP
PHP迭代器和迭代的实现与使用方法分析
Apr 19 PHP
PHP实现的敏感词过滤方法示例
Mar 06 PHP
ThinkPHP3.2.3框架邮件发送功能图文实例详解
Apr 23 PHP
Laravel框架验证码类用法实例分析
Sep 11 PHP
laravel 解决强制跳转 https的问题
Oct 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
php+oracle 分页类
2006/10/09 PHP
php 格式化数字的时候注意数字的范围
2010/04/13 PHP
解析PHP生成静态html文件的三种方法
2013/06/18 PHP
详解PHP的Yii框架的运行机制及其路由功能
2016/03/17 PHP
微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
2019/04/10 PHP
laravel 输出最后执行sql 附:whereIn的使用方法
2019/10/10 PHP
PHP全局使用Laravel辅助函数dd
2019/12/26 PHP
jquery刷新页面的实现代码(局部及全页面刷新)
2011/07/11 Javascript
简单js代码实现selece二级联动(推荐)
2014/02/18 Javascript
javaScript数组迭代方法详解
2016/04/14 Javascript
深入理解AngularJS中的ng-bind-html指令和$sce服务
2016/09/08 Javascript
JS日期对象简单操作(获取当前年份、星期、时间)
2016/10/26 Javascript
jQuery实现圣诞节礼物传送(花式轮播)
2016/12/25 Javascript
node文件批量重命名的方法示例
2017/10/23 Javascript
javascript字体颜色控件的开发 JS实现字体控制
2017/11/27 Javascript
JavaScript体验异步更好的解决办法
2018/01/08 Javascript
JS脚本实现网页自动秒杀点击
2018/01/11 Javascript
vue+ESLint 配置保存 自动格式化代码
2020/03/17 Javascript
Python查看多台服务器进程的脚本分享
2014/06/11 Python
go语言计算两个时间的时间差方法
2015/03/13 Python
Python远程桌面协议RDPY安装使用介绍
2015/04/15 Python
Python selenium文件上传方法汇总
2020/11/19 Python
python实现读取大文件并逐行写入另外一个文件
2018/04/19 Python
Python爬虫入门有哪些基础知识点
2020/06/02 Python
tensorflow下的图片标准化函数per_image_standardization用法
2020/06/30 Python
La Redoute英国官网:法国时尚品牌
2017/04/27 全球购物
档案接收函
2014/01/13 职场文书
会计师职业生涯规划范文
2014/02/18 职场文书
机关干部四风问题自查报告及整改措施
2014/10/26 职场文书
委托培训协议书
2014/11/17 职场文书
学校勤俭节约倡议书
2015/04/29 职场文书
宾馆卫生管理制度
2015/08/06 职场文书
nginx优化的六点方法
2021/03/31 Servers
Css预编语言及区别详解
2021/04/25 HTML / CSS
pytorch 如何使用amp进行混合精度训练
2021/05/24 Python
SpringBoot项目部署到阿里云服务器的实现步骤
2022/06/28 Java/Android