Архив вопросов и ответов Вопросы и ответы, которые утратили свою актуальность


Ответ
 
Опции вопроса Поиск в этом вопросе Опции просмотра
  #1  
Старый 16.10.2011, 14:16
Аватар для Guest
Guest
Вопрос
Сообщений: n/a
По умолчанию

Есть таблица big, с одним полем partnumber - varchar(32). В ней записаны номера деталей.> SELECT * FROM big LIMIT 10;0011142261001115181000111522100011154 N100011163010001116320000AX1640100011441 0100011B412100011441610Таких номеров около 1млнЕсть несколько таблиц price1, price2, price3 и т.д. Количество может быть до 10 штук.В них 2 поля - partnumber - varchar(32) и price - varchar(8)> SELECT * FROM price1 limit 100011142261;63.7320011151810;123.396001 1152210;12.74640011154N10;14.10240011163 010;36.6120011163200;32.88300AX164010;14 6.7870011441010;10.8480011441210;5.69520 011441610;5.6952Нужно все номера из big прогнать по таблицам price[1-10] и выдать наименьшее значение price и следующее за ним.Делается это в лоб - php в цикле берет каждое значение из таблицы big, пишет в массив, сортирует по убывает и получает 0 и 1 позиции.В случае big - 1млн, 5шт price сравнивает порядка 20 мин. Как можно оптимизировать данный процесс?Скорость работы упирается в php. Можно-ли процесс сравнения переложить на плечи MySQL?
Ответить с цитированием
Ответ



Похожие вопросы
Тема Автор Раздел Ответов Последний вопрос или ответ
Домустимые имена полей таблицы SQlite Guest Продолжение старого архива 0 16.10.2011 16:23
Связать несколько полей с одной таблицей. Guest Продолжение старого архива 0 16.10.2011 16:00
Как отследить обновления полей таблицы Guest Продолжение старого архива 0 16.10.2011 13:51
перенос полей таблицы из calc во writer Guest Новый архив 2 0 28.09.2011 07:47



© www.otvetnemail.ru - Форум вопросов и ответов.