привет,
у меня есть таблица, где примерно 25000 строк (наименования товаров). проблема в том, что один товар может поставлять несколько фирм по разным ценам.
например:
товар1 цена1 поставщик1
товар2 цена2 поставщик2
товар1 цена3 поставщик2
в таблице есть и другая информация, но она в данном случае не так важна.
каким должен быть SQL запрос, если нужно выбрать уникальные товары с наименьшими ценами и поставщика, который предлагает эту цену? прежде всего мне нужна производительность. с этой таблицей будет работать одновременно несколько пользователей.
писать буду все на symfony, может знает кто-то подходящий бандл для таких целей?
заранее спасибо!
хз как у вас база организована, но 25 тыщ - это не много =)
Цитата (Bolik @ 16.09.2013 - 08:05) |
привет,
у меня есть таблица, где примерно 25000 строк (наименования товаров). проблема в том, что один товар может поставлять несколько фирм по разным ценам.
например: товар1 цена1 поставщик1 товар2 цена2 поставщик2 товар1 цена3 поставщик2
в таблице есть и другая информация, но она в данном случае не так важна.
каким должен быть SQL запрос, если нужно выбрать уникальные товары с наименьшими ценами и поставщика, который предлагает эту цену? прежде всего мне нужна производительность. с этой таблицей будет работать одновременно несколько пользователей.
писать буду все на symfony, может знает кто-то подходящий бандл для таких целей?
заранее спасибо! |
Просто индексы грамотно проставь
_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
это сейчас 25000, потом будет больше.
Arh
Цитата |
Просто индексы грамотно проставь
|
что бы ты предложил?
T1grOK
16.09.2013 - 12:29
Цитата (rooor @ 16.09.2013 - 08:11) |
хз как у вас база организована, но 25 тыщ - это не много =) |
Как то недалеко смотришь.
Предположим каждый товар поставляется четырьмя поставщиками уже имеем 100к записей в связанной таблице. А если еще вести реестр по датам поставок и т.д. и т.п. выйдем уже под 1 млн. записей как минимум(или несколько массивных таблиц). А это уже не мало.
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
T1grOK
16.09.2013 - 12:33
Bolik смотря какие запросы будут в системе преобладать. От этого и нужно отталкиваться.
В любом случае первым в индекс попадет товар, так как он отсеит больше всего строк + поставщик (или цена) или все три поля. Как выше написал зависит от того какие запросы, с какими критериями будут выполняться.
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
T1grOK
будут преобладать SELECT запросы, т.е. 90% только чтение. Админ будет обновлять цены и товары возможно один раз в 5 дней и то только списки нескольких поставщиков.
польвателю буду показывать тоже не всю таблицу, а только первых 100-150 товаров. все они будут разбиты по категориям.
я в SQL не очень силен, потому решил сначала здесь спросить. нужна идея или пример, а дальше я буду уже сам пробовать.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.