我在XML文件中有几个带有“特殊编号”的条目。
我必须在数据库中搜索这些值。
如果在数据库中找不到该号码,则该“特殊号码”和相关数据应存储在数据库中。
<?php
foreach($array_from_xml_file as $key => $value) {
if($key === 'special_nummer'){
$sql = $db->loadArray("SELECT email FROM table WHERE special_nummer = $value");
// If nothing found insert new Data.
if(empty($sql)){
$insert_data = $db->insertData("INSERT INTO table (special_nummer, title, content) VALUES ('$key','$value','....')");
}
}
}
?>
该功能的缺点给数据库带来了沉重的负担。
我的第二种方法
我用数据库中的“特殊数字”将整个列加载到XML文件或数组中。
找到数据库中没有的数字并创建一个新数组。将此数组保存到数据库。
我的问题:我如何使它最有效率?
使用INSERT IGNORE
:
foreach($array_from_xml_file as $key => $value) {
if($key === 'special_nummer'){
$insert_data = $db->insertData("INSERT IGNORE INTO table (special_nummer, title, content) VALUES ('$key','$value','....')");
}
}
special_nummer
必须是主键或独特的