PHP在庞大的数据库mysql中最快的查询

时间:2016-08-20 10:36:55

标签: php mysql

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

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

此表的插入是一次性作业,我将有大量的SELECT语句用于分析目的,因此我将InnoDB更改为MyISAM。

有任何想法或建议吗?

1 个答案:

答案 0 :(得分:0)

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

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

链接中有关索引使用的一些内容:

  

快速查找与WHERE子句匹配的行。

     

消除行的考虑。如果之间有选择   多个索引,MySQL通常使用找到的索引   最小行数(最具选择性的索引)。

看看是否符合您的需求