Автор Тема: Что лучше? ещё одно поле или select?  (Прочитано 6484 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн gfdsa

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 52
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.nnm.ru
Друзья, вопрос такой:
Есть следующие папки : пользователи, галереи, комнати в которых картинки. Часто будет нужно узнать путь до картинки. Есть 2 варианта :
1. хранить в таблице с картинками путь до каждой
2. искать каждый раз путь по типу : в какой комнате картинка, к какой галерее относитсуя комната, к какому пользователю относитася галерея.
Что лучше?

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
Что лучше? ещё одно поле или select?
« Ответ #1 : 23 Июля 2002, 08:49:46 »
Если база небольшая, то лучше SELECT, а если уже большая и скрипты тормозят, то добавляй поле.
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн Maniac

  • Ума нет - считай коллега
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 844
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Что лучше? ещё одно поле или select?
« Ответ #2 : 23 Июля 2002, 10:48:37 »
А не легче хранить все картинки в соответствующих каталогах? Или именовать их в соответствии с путем?
TANSTAAFL

Оффлайн gfdsa

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 52
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.nnm.ru
Что лучше? ещё одно поле или select?
« Ответ #3 : 23 Июля 2002, 20:41:51 »
Цитировать
А не легче хранить все картинки в соответствующих каталогах? Или именовать их в соответствии с путем?


так оно и есть, все картинки в своих каталогах :
есть каталог : users, gallerys, rooms.
три каталога (или больше ) для каждого пользователя.

Но если мне надо знать где лежит определенная картинка то либо :
отбирать по разним ID(комната, галлеры, юзер)
либо сохранять в поле картинки её путь.
Нашот размера бази , что большая , а что маленькая ?

Оффлайн gfdsa

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 52
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.nnm.ru
Что лучше? ещё одно поле или select?
« Ответ #4 : 25 Июля 2002, 14:51:00 »
Так какая база большая , а какая маленькая? Как определить?

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
Что лучше? ещё одно поле или select?
« Ответ #5 : 25 Июля 2002, 14:57:52 »
Если SELECT работает быстрее 0.01, то смело используй SELECT.
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн advocat

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 73
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.php.net.ua
Что лучше? ещё одно поле или select?
« Ответ #6 : 28 Июля 2002, 13:55:54 »
Есть еще одна интересная функция, это сделать один запрос сразу к нескольким таблицам, и вытащить все необходимые данные одним запросом групируя их по какому-то параметру
заходите в гости
адвокат, это не профессия, это диагноз ! [ обитаю в PHP ]

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Что лучше? ещё одно поле или select?
« Ответ #7 : 28 Июля 2002, 14:00:58 »
gfdsa
если тебе известны все составляющие пути, то никакой проблемы собрать его из них. Не нужно отдельного поля.
Насколько я понимаю, оно просто будет дублировать информацию из других полей.

Оффлайн gfdsa

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 52
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.nnm.ru
Что лучше? ещё одно поле или select?
« Ответ #8 : 28 Июля 2002, 23:39:32 »
Цитировать
запрос сразу к нескольким таблицам

Простите моё невежество, но можно ли посмотреть на такой пример?

Оффлайн gfdsa

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 52
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.nnm.ru
Что лучше? ещё одно поле или select?
« Ответ #9 : 28 Июля 2002, 23:44:06 »
Цитировать
дублировать информацию из других полей.

Вот по этому то я и поднял тему. Все пути известни заранее (каждый в своей таблице), но я каждый раз винужден несколько раз использовать select, а база со временем будет большая. Я так понимаю что можно сделать один select, и это должно решить проблемму?

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Что лучше? ещё одно поле или select?
« Ответ #10 : 29 Июля 2002, 00:46:19 »
gfdsa
А расскажи-ка нам структуру своих таблиц, и мы тебе расскажем, какой запрос делать

Оффлайн gfdsa

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 52
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.nnm.ru
Что лучше? ещё одно поле или select?
« Ответ #11 : 29 Июля 2002, 02:38:32 »
Цитировать
А расскажи-ка нам структуру своих таблиц, и мы тебе расскажем, какой запрос делать


user      
user_userName               string   127
user_userPass               string           127
user_userID               serial   
user_userLastName               string   127
user_userFirstName               string   127
user_userDescription          text   127
user_userHomeDir              string    127
-------------------------------------------------------------------------------
gallery      
gallery_galleryName   string   127
gallery_galleryOwner [parent user_userID]
gallery_galleryID                   serial   
gallery_galleryPosition   int   127
gallery_galeryTimeDate   datetime   year to minutes
gallery_galleryDescription   text   127

------------------------------------------------------------------------------
room      
room_roomName                  string   127
room_roomID                  serial   
room_roomParentID[galeryID]
[gallery_galleryID]                  string   127
room_roomPosition                  int   127
room_roomDescription           text   127
room_roomTimeDate             datetime    year to minutes

------------------------------------------------------------------------------
picture      
picture_pictureName   string   127
picture_pictureID                   serial   
picture_pictureParentID [room_roomID]
             
picture_pictureTimeDate   datetime   year to minutes
picture_pictureFileName   string   127
picture_pictureDescription   text   127
picture_picturePosition   int    127
---------------------------------------------------------------------------------
Спасибо

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Что лучше? ещё одно поле или select?
« Ответ #12 : 29 Июля 2002, 03:14:50 »
Ссори что вмешиваюсь с вопросом не по теме но зачем таблицу называть picture_pictureID
Почему не  picture_ID например?

PS
База - postgresql?
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Что лучше? ещё одно поле или select?
« Ответ #13 : 29 Июля 2002, 10:54:49 »
для mysql:
select galleryName,roomName,pictureName
from user,gallery,room,picture
where galleryOwner=userID
and roomParentID=galleryID
and pictureParentID=roomParentID

Оффлайн gfdsa

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 52
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.nnm.ru
Что лучше? ещё одно поле или select?
« Ответ #14 : 29 Июля 2002, 10:58:44 »
Цитировать
зачем таблицу называть picture_pictureID

Вроде как принято для читабильности название столбца писать так : имя-таблицы_имя-столбца. Тогда , вроде, легче понимать сложные selects.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28