php php for循环查询数据库效率低,该如何优化mysql mysql 5
我们公司的系统mysql里边有500w条数据,然后每天以1-2w的数量增加,增加的方式为上传excel表格。但是字段里有一个唯一标示,不能重复。所以每次上传数据的时候都要...
我们公司的系统 mysql里边有500w条数据,然后每天以1-2w的数量增加,增加的方式为上传excel表格。但是字段里有一个唯一标示,不能重复。所以每次上传数据的时候都要查数据库里有没有相同的数据。for循环查询效率太低,如果excel里有一万条数据要for循环1w次。有什么优化的好方法吗
展开
展开全部
那就用sphinx 技术,目前这个是最好的,没有之一。
下面是我百度百科弄过来的,怎么使用还得你自己看白皮书了。
Sphinx的主要特性包括:
高速索引 (在新款CPU上,近10 MB/秒);
高速搜索 (2-4G的文本量中平均查询速度不到0.1秒);
高可用性 (单CPU上最大可支持100 GB的文本,100M文档);
提供良好的相关性排名
支持分布式搜索;
提供文档摘要生成;
提供从MySQL内部的插件式存储引擎上搜索
支持布尔,短语, 和近义词查询;
支持每个文档多个全文检索域(默认最大32个);
支持每个文档多属性;
支持断词;
支持单字节编码与UTF-8编码。[1]
下面是我百度百科弄过来的,怎么使用还得你自己看白皮书了。
Sphinx的主要特性包括:
高速索引 (在新款CPU上,近10 MB/秒);
高速搜索 (2-4G的文本量中平均查询速度不到0.1秒);
高可用性 (单CPU上最大可支持100 GB的文本,100M文档);
提供良好的相关性排名
支持分布式搜索;
提供文档摘要生成;
提供从MySQL内部的插件式存储引擎上搜索
支持布尔,短语, 和近义词查询;
支持每个文档多个全文检索域(默认最大32个);
支持每个文档多属性;
支持断词;
支持单字节编码与UTF-8编码。[1]
追问
现在是这样的,我现在的数据结构查询一条数据也只需要0.x秒,我这边遇到的问题不是单条数据查询,而是我上传的数据转换成数组格式 要循环判断每一条数据在数据库里有没有,我感觉时间浪费在for循环上了有没有不用循环的方法判断出数据库里有没有数据呢?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询