Php 如何提高Mysql中大数据的Select查询性能

Php 如何提高Mysql中大数据的Select查询性能,php,mysql,Php,Mysql,目前,我正在从事一个php项目。对于我的项目扩展,我需要在mysql数据库中添加更多数据。但是,我必须只在一个特定的表中添加数据,然后添加数据。现在,表大小为610.1 MB,行数为34,91534。表中还有22条不同的记录,一条不同的记录包含170万数据,另一条记录包含80万数据。 在此之后,我一直在尝试运行SELECT语句,执行该语句需要更多的时间(6.890秒)。在该表中,可能有多少列具有索引。尽管它需要更多的时间。 为了快速检索过程,我尝试了两种方法 1.具有可能的表列索引的存储过程。

目前,我正在从事一个php项目。对于我的项目扩展,我需要在mysql数据库中添加更多数据。但是,我必须只在一个特定的表中添加数据,然后添加数据。现在,表大小为610.1 MB,行数为34,91534。表中还有22条不同的记录,一条不同的记录包含170万数据,另一条记录包含80万数据。 在此之后,我一直在尝试运行SELECT语句,执行该语句需要更多的时间(6.890秒)。在该表中,可能有多少列具有索引。尽管它需要更多的时间。 为了快速检索过程,我尝试了两种方法 1.具有可能的表列索引的存储过程。 2.分区。
同样,这两种方法都花费了更多的时间来对一些行数较多的不同记录执行SELECT查询。如果我之前尝试过任何错误,请您为我的问题建议更好的替代方案,或者让我知道

像您这样处理大量行时,应小心使用繁杂的嵌套select语句。嵌套选择的每次迭代都会使用更多的资源来获得所需的结果

如果您正在使用以下内容: 从表中选择不同的列 何处条件

而且,即使索引和分区在运行,也要花很长时间才能执行,这可能是物理资源

调整结构,然后调整代码


希望这有帮助。

你需要提供更多的信息,比如表结构等。为了让人们能够有效地帮助你,你也应该考虑使用缓存的可能性,因为当你的查询占用的时间太长时,没有击中数据库,当然在所有的情况下数据库缓存不是最好的答案。特别是当数据变化很大时。缓存和缓存“行数为34,91534…22个不同的记录”如果不是行,记录是什么?“一个独特的记录是拥有1700万个数据”-1700万个什么?字节?科尔斯?你选的是什么样子?好的,我解释一下那张桌子,独特的记录方式让我们考虑国家栏目,它有22个不同的价值。其中一个值是加拿大,在总数据170万行中的3000万行中,加拿大在国家列中。