鉴于这种类型的用户表结构,您在表中存储了许多用户值(例如电话号码、首选项、联系信息):
Table: User ID | Key | Value
$values = [
1 => 'A value for key 1',
2 => 'Hello',
8 => 'Meow',
]
// Update values
$stmt = $pdo_db->prepare('
INSERT INTO table (UID, KEY, VALUE)
VALUES (:UID, :KEY, :VALUE)
ON DUPLICATE KEY UPDATE VALUE = :VALUE');
foreach ($values as $key => $value) {
$stmt->bindParam(':KEY', $key);
$stmt->bindParam(':VALUE', $value);
$stmt->execute();
}
如果您有 150 个不同的对,则每次更新有 150 个查询。我将如何优化这段代码?制作一个巨大的 SQL 会让 mysql 方面的工作更容易吗?我应该考虑改变结构本身吗?