Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Выборка тэгов

Сообщения:  [1-10]   [11-18] 

 
 автор: Trianon   (08.05.2009 в 08:08)   письмо автору
 
   для: Qiao   (08.05.2009 в 06:39)
 

для второго запроса потребуется еще
ALTER TABLE `tagsnews` ADD UNIQUE KEY (`tag_id` , `news_id`) ;

  Ответить  
 
 автор: Qiao   (08.05.2009 в 06:39)   письмо автору
 
   для: Trianon   (08.05.2009 в 01:41)
 

Я сделал
ALTER TABLE `newstags` ADD PRIMARY KEY ( `news_id` , `tag_id` ) ;


Ссылка интересная по теме:
http://www.c2.com/cgi/wiki?FearOfAddingTables

  Ответить  
 
 автор: Trianon   (08.05.2009 в 01:41)   письмо автору
 
   для: Qiao   (07.05.2009 в 14:25)
 

>SELECT id_news WHERE id_tag=$id

Для этого запроса нужен индекс на поле id_tag, либо составной уникальный индекс на полях id_tag, id_news

>SELECT id_tag WHERE id_news=$id

Для этого запроса нужен индекс на поле id_news, либо составной уникальный индекс на полях id_news, id_tag

В принципе, можно сделать два составных индекса (один из которых назначить первичным ключом)

  Ответить  
 
 автор: Trianon   (07.05.2009 в 14:29)   письмо автору
 
   для: Qiao   (07.05.2009 в 14:25)
 

Здрасти. А добавлять строки в таблицу святым духом будете?

  Ответить  
 
 автор: Qiao   (07.05.2009 в 14:25)   письмо автору
 
   для: Trianon   (07.05.2009 в 14:02)
 

Запросов тут может быть только два:
SELECT id_news WHERE id_tag=$id
SELECT id_tag WHERE id_news=$id

  Ответить  
 
 автор: Trianon   (07.05.2009 в 14:02)   письмо автору
 
   для: Qiao   (07.05.2009 в 13:04)
 

зависит от характера и частоты запросов...

  Ответить  
 
 автор: Qiao   (07.05.2009 в 13:04)   письмо автору
 
   для: Trianon   (07.05.2009 в 12:48)
 

Просто уже молоточек зашлифовал - REGEXP '.*\[^\\d\]?$tagID\[^\\d\]?.*'
Красота )

Но вы убедили - буду таблицу делать.
Даже не столько ради производительности, столько для того, чтобы попробовать теорию на практике. А там, глядишь, привыкну.


А что, кстати, оптимальней (по производительности) - делать id или составной ключ?

  Ответить  
 
 автор: Trianon   (07.05.2009 в 12:48)   письмо автору
 
   для: Qiao   (07.05.2009 в 12:34)
 

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

Пля.

  Ответить  
 
 автор: Trianon   (07.05.2009 в 12:44)   письмо автору
 
   для: Qiao   (07.05.2009 в 12:23)
 

А Вы можете этот столбик id не создавать вообще.

А перичный ключ составным сделать (по двум живым полям)

  Ответить  
 
 автор: Qiao   (07.05.2009 в 12:34)   письмо автору
 
   для: cheops   (07.05.2009 в 12:17)
 

Хотя я вот вашу же цитату в соседней теме прочёл:

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

Если так судить, то мне легче с регулярными работать, да и база в близжашем будущем будет маленькой.
Однако в вашей цитате не учтена стоимость "перехода". Ведь если я захочу перейти к третьей таблици ради оптимизации, то придётся попотеть, тобы создать таблицу из строчки и преобразовать обслуживающий код.

Поэтому меня сейчас терзают сомнения как лучше начать - регулярками или нормализацией.

  Ответить  

Сообщения:  [1-10]   [11-18] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования