Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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 如何提高mysql数据库插入的性能_Php_Mysql_Database_Performance_Database Performance - Fatal编程技术网

Php 如何提高mysql数据库插入的性能

Php 如何提高mysql数据库插入的性能,php,mysql,database,performance,database-performance,Php,Mysql,Database,Performance,Database Performance,我的目标是将数据存储到mysql数据库中,在9列表中的3个索引上使用唯一键索引,记录超过5k 我是否应该在程序级别检查唯一的数据,比如将值放入数组,然后在插入数据库之前进行比较 有什么方法可以加快数据库插入的速度吗 您可以创建当前表的副本,但任何字段上都没有索引。将数据存储在此表中 然后使用事件将数据从临时表移动到主表中。数据移动到主表后,从临时表中删除if。您可以创建当前表的副本,但任何字段上都没有索引。将数据存储在此表中 然后使用事件将数据从临时表移动到主表中。数据移动到主表后,从临时表中删

我的目标是将数据存储到mysql数据库中,在9列表中的3个索引上使用唯一键索引,记录超过5k

  • 我是否应该在程序级别检查唯一的数据,比如将值放入数组,然后在插入数据库之前进行比较
  • 有什么方法可以加快数据库插入的速度吗

  • 您可以创建当前表的副本,但任何字段上都没有索引。将数据存储在此表中


    然后使用事件将数据从临时表移动到主表中。数据移动到主表后,从临时表中删除if。

    您可以创建当前表的副本,但任何字段上都没有索引。将数据存储在此表中


    然后使用事件将数据从临时表移动到主表中。数据移动到主表后,从临时表中删除if。

    您可以使用triger跟踪更新。您应该更新表,并且必须为该表设置正确的触发器

    您可以使用triger跟踪更新。您应该更新表,并且必须为该表设置正确的触发器

    使用PDO,mysqli_*函数,增加对数据库的插入

    使用PDO,mysqli_*函数,增加对数据库的插入

    您可以在查询中使用“插入忽略”。这样,如果违反任何唯一约束,则不会插入记录

    例如:

    INSERT IGNORE INTO table_name SET name = 'foo', value = 'bar', id = 12345;
    
    您可以在查询中使用“插入忽略”。这样,如果违反任何唯一约束,则不会插入记录

    例如:

    INSERT IGNORE INTO table_name SET name = 'foo', value = 'bar', id = 12345;
    

    永远不要创建重复的表这是一种反SQL模式,它使处理数据变得更加困难

    也许PDO和事先准备好的声明会给你一点提振,但不要指望它会带来奇迹

    multible INSERT IGNORE也可能会给您带来一点帮助,但不要指望它会带来奇迹

    您应该像这样生成一个multiinsert查询

    插入database.table(列)值(值),(值),(值) 请记住,保持mysql的最大数据包大小。
    这样,索引文件必须更新一次。

    永远不要创建重复的表。这是一种反SQL模式,它使处理数据更加困难

    也许PDO和事先准备好的声明会给你一点提振,但不要指望它会带来奇迹

    multible INSERT IGNORE也可能会给您带来一点帮助,但不要指望它会带来奇迹

    您应该像这样生成一个multiinsert查询

    插入database.table(列)值(值),(值),(值) 请记住,保持mysql的最大数据包大小。
    这样,索引文件必须更新一次。

    您能否详细说明您要插入的内容,以及它的单个查询是否匹配,以及您首先要做的是否匹配。im插入的企业名称平均字符长度为30,街道地址平均长度为40,网站等。我是在数据库级别匹配,而不是在程序中。你能详细说明你在插入什么,它的单个查询是否匹配,以及你是否首先进行匹配。我插入的企业名称平均字符长度为30,街道地址平均长度为40,网站等。我是在数据库级别匹配,而不是在程序中