Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подскажите наилучший способ хранения инфы, в базе мускула 
:(
    Опции темы
OracleH2
Дата 8.1.2006, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 8.1.2006

Репутация: нет
Всего: нет



Ребят, пишу в первый раз, так что извиняйте, если что не так спрошу.

Есть у меня одна проблема. Пишу сайт под заказ (сразу скажу, что заказали движок для интим-сайта... ну то есть проститутки и т.п.)

Суть проблемы:
Есть список возможных услуг (вывожу чекбоксами), каждая девушка вольна для себя выбирать те, которые оказывает.
По идее можно было бы все эти услуги запихать в массив как есть... но тут проблема, очень нужен быстрый поиск по услугам.

Я дошел до такого гемора, что получал в итоге выбранных услуг битное число, конвертил в десятичное и записывал его в таком виде... то есть на чекбоксах читал единицу или нуль, записывал итоговое значение типа 1000101110 и конвертил в десятичное... поиск хоть и побыстрее, но все равно заказчикам не нравится... Поэтому решил поспрашивать на форумах, может отсоветуете как еще можно поступить...
PS: вариант хранения каждой услуги в своей ячейке не предлагать smile

Заранее спасибо.
PM MAIL   Вверх
Black
Дата 8.1.2006, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Web-Development
**


Профиль
Группа: Участник
Сообщений: 980
Регистрация: 15.8.2004

Репутация: нет
Всего: 45



Цитата(OracleH2 @ 8.1.2006, 23:43 Найти цитируемый пост)

вариант хранения каждой услуги в своей ячейке не предлагать


почему?

Ведь это и будет самый простой и быстрый способ сортировки по оказываемым услугам.

1 - услуга оказывается
0 - услуга отсутствует

Сортируй и выбирай теперь какие хочешь услуги в любом сочетании.

Код

SELECT lala FROM tbl WHERE usluga1=0 and usluga2=1 LIMIT 50


и т.д.



--------------------
Могу все, но ничего не умею :-)
PM WWW   Вверх
HalkaR
Дата 9.1.2006, 00:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: нет
Всего: 42



Скорее всего нужно будет именно хранить каждую услугу в своей ячейке, ведь может быть отбор по услугам. Или нет?
Уточните - какие варианты вывода информации есть? Какие виды поиска?
PM MAIL   Вверх
Mal Hack
Дата 9.1.2006, 01:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: нет
Всего: 261



Делать множество. Единственный разумный выход.
Со множествами можно работать через IN, что очень хорошо для поиска.
PM ICQ   Вверх
chief39
Дата 10.1.2006, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 8
Всего: 77



Самое логичное и разумное - список услуг, список девушек, связка девушка-услуга. То есть в ОТДЕЛЬНЫХ ячейках.
Что-то здесь не так.... Ну пусть у тебя(в смысле у них) несколько тысяч(!) девушек.
Не может быть чтоб настолько тупила база, чтоб клиенты жаловались на низкое быстродействие smile Да и сомневаюсь что несколько тысяч будет. Ты проверял быстродействие выборок? Или замерял общее время формирование странички с данными? Может web тормозит?
PS. Везёт же людям с предметной областью... прям приятно писать smile



--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
Akina
Дата 10.1.2006, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 13
Всего: 454



Связь девушка-услуга - это связь типа многие-ко-многим. Тут быстрее чем связывающая таблица ничего не придумать...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Bose
Дата 13.1.2006, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: нет
Всего: 51



Цитата(OracleH2 @ 8.1.2006, 23:43 Найти цитируемый пост)

дошел до такого гемора, что получал в итоге выбранных услуг битное число, конвертил в десятичное и записывал его в таком виде... то есть на чекбоксах читал единицу или нуль, записывал итоговое значение типа 1000101110 и конвертил в десятичное... поиск хоть и побыстрее, но все равно заказчикам не нравится...
PS: вариант хранения каждой услуги в своей ячейке не предлагать

в MySQL именно для этого есть тип столбца SET(множество), работает точно также как ты и описал. Выборку можно производить импользуя IN или бинарные операции(И/ИЛИ). А вообще, правее всех Akina. Самым лучшим вариантом будет хранить список услуг в одной таблице, список (не)девушек в другой, а для связки создать третью. Это и быстрее будет и универсальнее, ибо заказчики смогут сами добавлять новые услуги, и для этого не придётся изменять структуру базы данных. smile
PM MAIL WWW Skype   Вверх
batigoal
Дата 15.1.2006, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 1
Всего: 151



Цитата(chief39 @ 10.1.2006, 12:09 Найти цитируемый пост)

PS. Везёт же людям с предметной областью... прям приятно писать smile

А ты пробовал? Я сталкивался немного... скорее - противно.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
chief39
Дата 15.1.2006, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 8
Всего: 77



Цитата(Lamer George @ 15.1.2006, 00:12 Найти цитируемый пост)

А ты пробовал? Я сталкивался немного... скорее - противно.


smile не сталкивался smile и услугами не пользовался smile но везде стараюсь находить приятное. изюминку тысызыть ;) smile

ЗЫ: Что-то форум периодически глючит. Некоторые разделы. По очереди. Вместо красивого зелёненького - всё белое, кнопочки в синих рамочках. Разделителей между постами и проч. - нету. (Забыл топик куда баги найденые постить smile )
Под виндой ФФокс 1.0 вот только вчера начал глюкавить.
Под линухом ФФ - последнюю неделю. Только Konqueror - наман. Вчера. Был. IE - нормально вроде.
ЗЗЫ: Пардон за пост, полный оффтопа


--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Общие вопросы по базам данных"
LSD
Zloxa

Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:

  • вопросам по СУБД для которых нет отдельных подфорумов
  • вопросам которые затрагивают несколько разных СУБД (например проблема выбора)
  • инструменты для работы с СУБД
  • вопросы проектирования БД
  • теоретически вопросы о СУБД

Данный форум не предназначен для:

  • вопросов о поиске разлиных БД (если не понимаете чем БД отличается от СУБД то: а) вам не сюда; б) Google в помощь)
  • обсуждения проблем с доступом к СУБД из различных ЯП (для этого есть соответсвующие форумы по каждому ЯП)
  • обсуждения проблем с написание SQL запросов, для этого есть форум Составление SQL-запросов
  • просьб о написании курсовой, реферата и т.п., для этого есть Центр помощи или фриланс биржа
  • объявлений о найме специалистов, для этого есть раздел Объявления о найме специалистов

Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение. ;)


Полезные советы:

При написании сообщения постарайтесь дать теме максимально понятное название. В теме максимально подробно опишите проблему. Если применимо укажите: название базы данных и версии (MySQL 4.1, MS SQL Server 2000 и т.п.); используемых язык программирования; способа доступа (ADO, BDE и т.д.); сообщения об ошибках.

Для вставки кода используйте теги [code=sql] [/code].

Литературу по базам данных можно поискать здесь.

Действия модераторов можно обсудить здесь.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | СУБД, общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0636 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.