Php 拆分2000万条记录数据库

Php 拆分2000万条记录数据库,php,mysql,Php,Mysql,我有一个美国公司的数据库,里面有2000万条记录。首先,对于一个庞大的RAM数据库服务器来说,它们是没有预算的。所以我想我必须把数据库分成几个部分,4个部分按州分组 我的问题是如何用PHP处理这个问题,我想让用户查询找到状态,然后指向相关的数据库?有什么想法吗? < P>听起来好像你想考虑分享。 不确定是否使用ORM进行数据访问,但其中一些支持分片。有关php和mySQL切分的一些信息,请参见: 刚刚意识到-链接丢失到上一个url中的实际文章。。。在这里尝试: < P>听起来好像你想考虑分享。

我有一个美国公司的数据库,里面有2000万条记录。首先,对于一个庞大的RAM数据库服务器来说,它们是没有预算的。所以我想我必须把数据库分成几个部分,4个部分按州分组


我的问题是如何用PHP处理这个问题,我想让用户查询找到状态,然后指向相关的数据库?有什么想法吗?

< P>听起来好像你想考虑分享。

不确定是否使用ORM进行数据访问,但其中一些支持分片。有关php和mySQL切分的一些信息,请参见:


刚刚意识到-链接丢失到上一个url中的实际文章。。。在这里尝试:

< P>听起来好像你想考虑分享。

不确定是否使用ORM进行数据访问,但其中一些支持分片。有关php和mySQL切分的一些信息,请参见:


刚刚意识到-链接丢失到上一个url中的实际文章。。。试试这里:

我想你需要看看我想你需要看看你不需要PHP来完成所有这些操作。可能需要生成SQL代码。最好使用SQL脚本将数据从原始表复制到新表中。如果您还不熟悉“插入…选择…”和“创建表格…作为选择…”,请参见

若您的MySQL>=5.1,那个么请尝试分区表,以便任何请求只命中1个分区

  • 如果用户只需要关于一个状态的信息,请按状态对其进行分区。可以有很多分区,而不会给您带来额外的开销。如果用户只能看到特定的时间范围,如Webalizer中的月份图、按月份划分等

还考虑创建聚合表。让我详细说明一下:在数据仓库中,度量和属性是有区别的

  • 属性
    是一个列,它告诉您在哪里、什么时候、什么时候、什么类型
  • 一个
    指标告诉你多少,多少
聚合表的详细程度较低:要么属性较少(没有地理信息,要么没有产品信息),要么在整个表中的属性上加一些步骤(只是state而不是city+state,year-month而不是date,等等)


最后一点:确保您的用户真正需要详细的旧数据。一些数据在几年内变得无关紧要。例如,网站推荐人在1,5-2年后没有任何意义,因为大多数网站都会改变。2年前的网站流量数据可能只是一些每日/每月的图表。

您不需要PHP来完成所有这些操作。可能需要生成SQL代码。最好使用SQL脚本将数据从原始表复制到新表中。如果您还不熟悉“插入…选择…”和“创建表格…作为选择…”,请参见

若您的MySQL>=5.1,那个么请尝试分区表,以便任何请求只命中1个分区

  • 如果用户只需要关于一个状态的信息,请按状态对其进行分区。可以有很多分区,而不会给您带来额外的开销。如果用户只能看到特定的时间范围,如Webalizer中的月份图、按月份划分等

还考虑创建聚合表。让我详细说明一下:在数据仓库中,度量和属性是有区别的

  • 属性
    是一个列,它告诉您在哪里、什么时候、什么时候、什么类型
  • 一个
    指标告诉你多少,多少
聚合表的详细程度较低:要么属性较少(没有地理信息,要么没有产品信息),要么在整个表中的属性上加一些步骤(只是state而不是city+state,year-month而不是date,等等)


最后一点:确保您的用户真正需要详细的旧数据。一些数据在几年内变得无关紧要。例如,网站推荐人在1,5-2年后没有任何意义,因为大多数网站都会改变。2年前的网站流量数据可能只是一些每日/每月的图表。

好的,我是新手,如何按状态创建分区?如果我能做到这一点,我想它会解决这个问题。好吧,我是新手,我如何按状态创建分区?如果我能做到这一点,我想它会解决问题