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

Форум MySQL

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Какой поиск лучше?
 
 автор: guki   (18.09.2006 в 09:07)   письмо автору
 
 

Делаю сайт каталога организаций, каждая организация может соответствовать до 20 различным направлениям деятельности (подкатегориям). После регистрации, выбранные подкатегории записываются в столбец category в строку вида: " 2 4 11 34 56 67 87 74 140 ". При выводе содержимого соответствующей категории, запрашиваются организации соответствующие входящим подкатегориям, т.е. поиск по столбцу category. Сейчас поиск осуществляется с помощью LIKE к примеру:


SELECT name FROM org WHERE category LIKE '% 4 %' OR LIKE '% 23 %' OR LIKE '% 34 %' OR LIKE '% 67 %'


В тестовом режиме количество записей небольшое, поэтому проблем нет. Но приналичии пары-тройки тысяч записей будет ли целесообразнее перейти на полнотекстовый поиск по индексу FULLTEXT?

   
 
 автор: cheops   (18.09.2006 в 11:02)   письмо автору
 
   для: guki   (18.09.2006 в 09:07)
 

Целесообразнее вместо поля category использовать дополнительную таблицу category_org, которая будет устанавливать соответствие между таблицей org и категориями category_org
id id_org id_category
1     1         4
2     1        23
3     1        34
4     1        67
5     2         3
6     2        12
7     2        67

   
 
 автор: guki   (18.09.2006 в 15:44)   письмо автору
 
   для: cheops   (18.09.2006 в 11:02)
 

Длина строки в поле category уменьшится, но количество строк в предполагаемой таблице category_org увеличится. Будет ли время выборки этим способом меньше?

   
 
 автор: cheops   (19.09.2006 в 00:09)   письмо автору
 
   для: guki   (18.09.2006 в 15:44)
 

Уменьшится не только длина строки category - она вообще исчезнет из таблицы, вместо неё будут использваться целочисленные значения ключей, и вот это скорость увеличит значительно, числа обрабатываются на порядок быстрее строк.

   
Rambler's Top100
вверх

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