MySQL日期型字段直接用VARCHAR(10)表示好不好?用来日期比较效率会不会高一点? MySQL日期型字段直接用VARCHAR(10)表示好不好?我这个日期比较固定,一般只表示一周的头一天,用来日期判断,效率会不会高一点? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 也有很多应用的确是用varchar来存贮日期时间。特别是这个字段只用来排序,查找而不用于计算。如果你要基于这个字段做加减法,或者取出月份,或算星期几,则建议直接使用datetime型。 字符型,如果要存储日期大概需要8位字符?也就是8个字节而日期型估计只需要用四个字节。显然,应该用日期型Date数据类型。节省存储空间的同时,也会提高效率,也方便计算... discuz是用int来存储日期的,查询的时候效率应该更搞 假设我现在某个表三个字段owner( int)sdate(varchar(10)action(int)那么如果我这三个键上建立一个联合索引(次序依以上顺序),那么我写SQL查询的时候是不是写如下比较高效率?WHERE owner=11 AND sdate='2009-03-20' AND action=5;如果上面的WHERE语句中的顺序和索引中各自段的顺序不一样是否会低效? 那么我写SQL查询的时候是不是写如下比较高效率-- 基本上是,但要看mySQL要SQL语句分析时候的具体动作。如果你还有其它条件的话。如果上面的WHERE语句中的顺序和索引中各自段的顺序不一样是否会低效?-- 不会,mySQL会对SQL语句进行优化。以找到最佳执行方案(虽然很多时候找到的未必是) 这玩意因为对mysql不太熟悉,也没时间测试。但是以前用过SQLServer,倒是绝对是这样的。 对的,对的,我以前用VARCHAR()存储的,后来就因为牵扯到这些计算,结果惹了大麻烦,不得已,又修改了。 mysql vc odbc 查询出现的问题 mysql 查询问题 关于Mysql分区分表 当前在线库做的备份设计讨论 数据库字段匹配问题? 做了一个全文检索,基数显示是1,正常不? Mysql小问题 MySQL可以指定数据文件的存储位置吗? MySQL存储过程中如何判断传入的参数是数字还是字符串? MySQL错误恢复后有希望还原吗 mysql 还原数据库问题(MS很偏的问题) Lock wait timeout exceeded; try restarting transaction
如果你要基于这个字段做加减法,或者取出月份,或算星期几,则建议直接使用datetime型。
而日期型估计只需要用四个字节。显然,应该用日期型Date数据类型。
节省存储空间的同时,也会提高效率,也方便计算...
owner( int)
sdate(varchar(10)
action(int)那么如果我这三个键上建立一个联合索引(次序依以上顺序),那么我写SQL查询的时候是不是写如下比较高效率?
WHERE owner=11 AND sdate='2009-03-20' AND action=5;如果上面的WHERE语句中的顺序和索引中各自段的顺序不一样是否会低效?
那么我写SQL查询的时候是不是写如下比较高效率
-- 基本上是,但要看mySQL要SQL语句分析时候的具体动作。如果你还有其它条件的话。如果上面的WHERE语句中的顺序和索引中各自段的顺序不一样是否会低效?
-- 不会,mySQL会对SQL语句进行优化。以找到最佳执行方案(虽然很多时候找到的未必是)
我以前用VARCHAR()存储的,后来就因为牵扯到这些计算,结果惹了大麻烦,不得已,又修改了。