Здравствуйте.
Собственно, сабж. MSQL. Есть исходная таблица с полями hash, id, value, date. Хочу заполнить две другие таблицы -
1. counter, value, date (counter - ключ)
2. counter, id, hash, date.
Для заполнения использую следующую процедуру:
1. Беру из исходной таблицы каждую строчку.
2. Проверяю есть ли в 1 табл. такое значение, если да, то обновить значение date, если нет, то вставить в 1 табл. и выполнить вставку во вторую табл. counter, id, hash, date, если таких значений нет, если же есть, то обновить date.
3. Удаляю строчку.
Данная процедура работает со скоростью 40-50 строчек в секунду. В исходную таблицу попадает по 12-15 тыс. строк. Примерное время работы 5-7 минут.
Есть индекса для всех таблиц. Как можно ускорить выполнение?
Собственно, сабж. MSQL. Есть исходная таблица с полями hash, id, value, date. Хочу заполнить две другие таблицы -
1. counter, value, date (counter - ключ)
2. counter, id, hash, date.
Для заполнения использую следующую процедуру:
1. Беру из исходной таблицы каждую строчку.
2. Проверяю есть ли в 1 табл. такое значение, если да, то обновить значение date, если нет, то вставить в 1 табл. и выполнить вставку во вторую табл. counter, id, hash, date, если таких значений нет, если же есть, то обновить date.
3. Удаляю строчку.
Данная процедура работает со скоростью 40-50 строчек в секунду. В исходную таблицу попадает по 12-15 тыс. строк. Примерное время работы 5-7 минут.
Есть индекса для всех таблиц. Как можно ускорить выполнение?