2012-10-23 72 views
0

我正在导入很多员工(只有〜10,000),然后一次将他们全部设为用户帐户。插入到我的user_profile表中会放慢一切,因为表的主键也是一个外键,而不是通常的自动增量id。主要外键减慢InnoDB插入

有什么办法可以加快速度吗? 或者我需要返回并以某种方式向user_profile添加自动增量ID?

编辑:

user: 
    id 
    username 
    salt 
    password 

user_profile: 
    user_id -> Primary Key and Foreign Key to user table 
    first_name 
    last_name 
    email 
    ... 
+0

”表的主键也是外键,而不是通常的自动增量ID“呵呵?你能发布架构吗? –

+2

模式将会有所帮助。你总是可以放弃约束并重新添加它作为最后的手段。 – Kermit

+0

我正在使用这个插件:http://www.symfony-project.org/plugins/sfGuardPlugin 并遵循这篇文章的建议,为Propel ORM创建1-1关系。 http://stackoverflow.com/questions/4715164/relation-one-to-one-in-sf1-4-propel – yellottyellott

回答

0

我的建议是一个id字段添加到user_profile表,使其主键(无符号和AUTO_INCREMENT)。然后将user_id字段作为外键给用户(id)表。我从来没有见过一个字段作为主键和另一个表的外键。 “