Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何过滤大型数据集_Php_Mysql_Sql Like_Large Data - Fatal编程技术网

Php 如何过滤大型数据集

Php 如何过滤大型数据集,php,mysql,sql-like,large-data,Php,Mysql,Sql Like,Large Data,我假设这应该在数据库服务器上处理,而不是在我的特定情况下使用Apache服务器,但我想知道如何过滤一个至少可能是十万条或更多记录的结果集 在界面端,用户将看到结果的第一页(比如发票上的100个结果),在那里他们可以过滤结果集或按列排序。我以前使用这个系统的方法是创建一个MySQL命令,将每个可见列与被百分号包围的搜索词进行比较,并使用like进行比较。我唯一的问题是,即使在处理一个大约300MB的数据库时,这个速度似乎也相当慢 由于我对数据库性能比较陌生,并且找不到任何过滤策略,我应该如何构造查

我假设这应该在数据库服务器上处理,而不是在我的特定情况下使用Apache服务器,但我想知道如何过滤一个至少可能是十万条或更多记录的结果集

在界面端,用户将看到结果的第一页(比如发票上的100个结果),在那里他们可以过滤结果集或按列排序。我以前使用这个系统的方法是创建一个MySQL命令,将每个可见列与被百分号包围的搜索词进行比较,并使用
like
进行比较。我唯一的问题是,即使在处理一个大约300MB的数据库时,这个速度似乎也相当慢


由于我对数据库性能比较陌生,并且找不到任何过滤策略,我应该如何构造查询以提供快速过滤的数据?

这样的查询速度非常慢。快速建议:如果可能的话,您可以将一些可见列设置为下拉列表,以便轻松执行
=
查询。尝试阅读有关MySQL索引的内容。关于数据库中正在进行的筛选,您是对的。假设数据集可以像公司ID一样拆分,并且可能有20个公司ID可用,如果我使用公司下拉列表将数据集拆分为20个大小,这会使我在其他字段上的
like
更快吗?