我们有一个从Linux64位版本的MySql备份的数据库,我们已经恢复到Windows32位版本的MySql上。
我们有一个包含大约4.5G数据的表-主要空间由包含文件数据的BLOB字段消耗。表本身只有大约6400条记录。
以下查询在Linux机器上很快就会执行;但在windows机器上,它需要大约5分钟的时间才能运行,并且在此过程中,服务器对其他任何东西都没有响应:
select id from fileTable where cid=1234
我们需要做一些优化吗?在从Linux转到Windows或从64位转到32位时,是否需要满足一些特殊的考虑因素?
使用MySQL数据库。
我有一张商店的桌子。store表至少有80,000条记录。用户可以通过从下拉列表中选择郊区来搜索商店表。我最好创建一个郊区表(见下文),并在store表中搜索郊区id,或者将其作为文本匹配保存在store表中?
Store
- id
- name
- suburb_id
Suburb
- id
- name
我猜使用store_id外键,我可以创建和索引?
我正在做一个研究项目,要求我用500,000+记录处理大型csv文件(~2-5GB)。这些文件包含关于政府合同的信息(来自)。到目前为止,我一直在使用PHP或Python脚本攻击逐行文件,解析它们,然后将信息插入相关的表中。解析是相当复杂的。对于每个记录,脚本检查命名的实体是否已经在数据库中(使用字符串和regex匹配的组合);如果不是,它首先将实体添加到实体表中,然后继续解析记录的其余部分,并将信息插入适当的表中。实体名单超过10万。
下面是试图将每条记录与任何现有实体匹配的基本函数(类的一部分):
private function _getOrg($data)
{
// if na