{% else-1 %}
Обновить | Подписаться | Поднять тему
Чтобы выполнить действие авторизируйтесь или пройдите регистрацию на сайте.
1.
wapoleg * 2.59
[автор] (30 дек 2013, 20:50) [0/0] [0] [отв] [спам] [под] +1 | -1

Суть в следующем, есть бд с 3000000 записей.
И массив скажем с 10000 записей.
Перед добавлением данных из массива в бд, нужно сделать проверку, на существование записи.
Т.е. если запись уже есть в бд, то пропускаем, если нет записываем.

Выслушаю варианты как лучше это сделать.

Пока на ум приходит только, записать все записи из бд в переменную (массив) и в цикле перебирать два массива.
Про DISTINCT знаю, но хотелось бы заранее отсортировать массив и пропустить не нужные записи.

В общем кто, что посоветует?

2.
~AL~ * 11.86
(30 дек 2013, 20:51) [0/0] [0] [отв] [спам] [под] +1 | -1

Забрать массив данных из базы, сравнить с исходным массивом, разницу записать

3.
wapoleg * 2.59
[автор] (30 дек 2013, 20:59) [0/0] [0] [отв] [спам] [под] +1 | -1

~AL~, тоже только этот вариант рассматривал. не пробовал пока, но почему-то кажется, что по времени долго занимать будет.

4.
NesA * 0.19
(30 дек 2013, 21:00) [0/0] [0] [отв] [спам] [под] +1 | -1

Проверять каждый элемент массива с каждым элементом бд.

5.
~AL~ * 11.86
(30 дек 2013, 21:04) [0/0] [0] [отв] [спам] [под] +1 | -1

Тогда добавляешь полю свойство UNIQUE и чтобы INSERT не прекращал выполнения после ошибки пишешь INSERT IGNORE INTO

6. (30 дек 2013, 21:06) [0/0] [0] [отв] [спам] [под] +1 | -1
NesA,

*

7.
NesA * 0.19
(30 дек 2013, 21:08) [0/0] [0] [отв] [спам] [под] +1 | -1

Чеченец, я не знаю mysql, рассуждаю на каком знаю. *

  • 1 из 1
Чтобы писать сообщения авторизируйтесь или пройдите регистрацию на сайте.
Подписаны: 1
Скачать тему | Файлы темы | Фильтр сообщений