Я работаю с программой, в которой мне нужно проверить сотни переменных, чтобы убедиться, что они уже есть в базе данных. Обычно для запуска требуется некоторое время. Я использую INSERT IGNORE для всех переменных. Должен ли я изменить это, чтобы сначала проверить, существуют ли они в базе данных? Какая функция увеличивает время ожидания для конечного пользователя?
В этой программе большинство вставок будут дубликатами. Так что такая ситуация будет возникать довольно часто.
Может быть, имеет смысл избавиться от дубликатов перед попыткой вставки? (Я работаю с библиотекой PHP IMAP и электронной почтой)
1 ответ
Прежде всего, определенно не делайте SELECT, а затем INSERT, это совершенно бессмысленно. Вместо этого подумайте о том, что ниже;
- Что это за настройки? Должны ли они действительно принадлежать базе данных или файлу конфигурации PHP?
- Исследуйте
LOAD DATA INTO
, который по умолчанию использует IGNORE для дублирующегося ключа. - Неужели надо все время проверять? Наверняка это будет сделано только при установке/настройке?
Похожие вопросы
Связанные вопросы
Новые вопросы
php
PHP — это широко используемый язык сценариев общего назначения с открытым исходным кодом, мультипарадигмальный, динамически типизированный и интерпретируемый, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.
UNIQUE
и позволить базе данных решить, нужно ли их добавлять.INSERT IGNORE
, держу пари, он уже указал это поле (поля) как уникальное ;-)