【问题标题】:PHP Fastest query in huge DB mysql [duplicate]大型数据库mysql中的PHP最快查询[重复]
【发布时间】:2016-12-27 10:43:42
【问题描述】:

我正在创建一个表来存储数百万条记录,即每天 86400 秒 x 365 天 x 10 年 = 315,360,000 行记录,只有 3 列, 以 datetime、decimal 和 smallint(只有 3 个字段)datetime 作为索引。

我正在考虑将 datetime 转换为 INT unsigned (PHP time()) 以减少存储空间。使用 datetime、decimal 和 smallint,我有 2.5GB 的 1 个表。我没有尝试用 INT 替换 DATETIME。

插入此表是 1 次工作,我将有很多 SELECT 语句用于分析目的,因此我将 InnoDB 更改为 MyISAM。

有什么想法或建议吗?

【问题讨论】:

标签: php mysql


【解决方案1】:

索引是用于在表上更快搜索的东西之一: http://dev.mysql.com/doc/refman/5.7/en/mysql-indexes.html

在基本层面上,索引负责使引擎在搜索您要求的内容时不会遍历整个表。

链接中关于使用索引的一些事情:

快速找到匹配 WHERE 子句的行。

从考虑中排除行。如果可以选择 多个索引,MySQL 通常使用找到 最少的行数(最具选择性的索引)。

看看是否适合你的需求

【讨论】:

  • 我了解索引部分,我的情况只是单个索引,即 Datetime 或 INT。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-09
相关资源
最近更新 更多