相关疑难解决方法(0)

MySQL Integer与DateTime索引

首先我要说的是,我已经查看了许多类似的问题,但所有这些问题都TimestampDateTime字段类型有关而没有索引.至少这是我的理解.

众所周知,DateTime有一些优势.把它们放在一边了一分钟,并假设表的引擎是InnoDB10+ million records,它查询将更快地执行时标准基于:

  1. 带索引的DateTime
  2. 带索引的int

换句话说,最好将日期和时间存储为DateTimeUNIX时间戳int?请记住,不需要使用任何内置的MySQL函数.

更新

经过MySQL 5.1.41(64位)和1000万条记录的测试,初步测试显示出显着的速度差异int.使用两个表,tbl_dt使用DateTimetbl_int使用int列.几个结果:

SELECT SQL_NO_CACHE COUNT(*) FROM `tbl_dt`;
+----------+
| COUNT(*) |
+----------+
| 10000000 |
+----------+
1 row in set (2 min 10.27 sec)

SELECT SQL_NO_CACHE COUNT(*) FROM `tbl_int`;
+----------+
| count(*) |
+----------+
| 10000000 |
+----------+
1 row in set (25.02 sec)

SELECT SQL_NO_CACHE COUNT(*) FROM `tbl_dt` WHERE …
Run Code Online (Sandbox Code Playgroud)

mysql indexing innodb

41
推荐指数
2
解决办法
3万
查看次数

正在寻找TSQLTimeStamp的编码示例

Delphi XE2和MySql.

之前的问题导致我建议我应该使用MySql的本机TIMESTAMP数据类型来存储日期/时间.

不幸的是,我似乎无法找到任何编码示例,而且我得到了奇怪的结果.

鉴于此表:

mysql> describe test_runs;
+------------------+-------------+------+-----+---------------------+-------+
| Field            | Type        | Null | Key | Default             | Extra |
+------------------+-------------+------+-----+---------------------+-------+
| start_time_stamp | timestamp   | NO   | PRI | 0000-00-00 00:00:00 |       |
| end_time_stamp   | timestamp   | NO   |     | 0000-00-00 00:00:00 |       |
| description      | varchar(64) | NO   |     | NULL                |       |
+------------------+-------------+------+-----+---------------------+-------+
3 rows in set (0.02 sec)
Run Code Online (Sandbox Code Playgroud)

我喜欢:

  • 声明一个我可以存储结果的变量SELECT CURRENT_TIMESTAMP- 它应该是什么类型的?TSQLTimeStamp
  • 在测试开始处插入一行,其中start_time_stamp …

mysql delphi timestamp

1
推荐指数
1
解决办法
744
查看次数

标签 统计

mysql ×2

delphi ×1

indexing ×1

innodb ×1

timestamp ×1