[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: организация базы данных
Bolik
привет,

у меня есть таблица, где примерно 25000 строк (наименования товаров). проблема в том, что один товар может поставлять несколько фирм по разным ценам.

например:
товар1 цена1 поставщик1
товар2 цена2 поставщик2
товар1 цена3 поставщик2

в таблице есть и другая информация, но она в данном случае не так важна.

каким должен быть SQL запрос, если нужно выбрать уникальные товары с наименьшими ценами и поставщика, который предлагает эту цену? прежде всего мне нужна производительность. с этой таблицей будет работать одновременно несколько пользователей.

писать буду все на symfony, может знает кто-то подходящий бандл для таких целей?

заранее спасибо!
rooor
Цитата
примерно 25000

хз как у вас база организована, но 25 тыщ - это не много =)
Arh
Цитата (Bolik @ 16.09.2013 - 08:05)
привет,

у меня есть таблица, где примерно 25000 строк (наименования товаров). проблема в том, что один товар может поставлять несколько фирм по разным ценам.

например:
товар1 цена1 поставщик1
товар2 цена2 поставщик2
товар1 цена3 поставщик2

в таблице есть и другая информация, но она в данном случае не так важна.

каким должен быть SQL запрос, если нужно выбрать уникальные товары с наименьшими ценами и поставщика, который предлагает эту цену? прежде всего мне нужна производительность. с этой таблицей будет работать одновременно несколько пользователей.

писать буду все на symfony, может знает кто-то подходящий бандл для таких целей?

заранее спасибо!

Просто индексы грамотно проставь

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Bolik
это сейчас 25000, потом будет больше.

Arh

Цитата

Просто индексы грамотно проставь


что бы ты предложил?
T1grOK
Цитата (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
Bolik смотря какие запросы будут в системе преобладать. От этого и нужно отталкиваться.
В любом случае первым в индекс попадет товар, так как он отсеит больше всего строк + поставщик (или цена) или все три поля. Как выше написал зависит от того какие запросы, с какими критериями будут выполняться.

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Bolik
T1grOK

будут преобладать SELECT запросы, т.е. 90% только чтение. Админ будет обновлять цены и товары возможно один раз в 5 дней и то только списки нескольких поставщиков.

польвателю буду показывать тоже не всю таблицу, а только первых 100-150 товаров. все они будут разбиты по категориям.

я в SQL не очень силен, потому решил сначала здесь спросить. нужна идея или пример, а дальше я буду уже сам пробовать.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.