Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сортировка данных из БД, 3 таблицы, в пределах O( nlogn ) 
V
    Опции темы
Artemij
  Дата 28.4.2009, 01:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Имеем:

3 database tables: user, text, friend

user: логин пользователя, пароль пользователя, и любая другая информация.

text: логин пользователя (автор текста), текст, дата/время, и любая другая информация.

friend: логин пользователя, логин пользователя с которым он дружит, и любая другая информация.

Задача:

Показать 10 самых свежих текстов от всех друзей пользователя (не от каждого по 10, а 10 всего от всех, отсортировав по дате ).

Вопрос: 

1) Как решить в пределах O( nlogn )? Объём данных 200 000 пользователей, в среднем по 50 текстов на пользователя.

2) Какие дополнительные tables/columns необходимо создать, чтобы улучшить производительность?

Спасибо!
PM MAIL WWW Skype GTalk MSN   Вверх
Akina
Дата 28.4.2009, 08:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(Artemij @  28.4.2009,  02:00 Найти цитируемый пост)
Как решить в пределах O( nlogn )? 

Правильно построить индексы и, если нужно, принудительно сделать так, чтобы они использовались при выборке данных.

Цитата(Artemij @  28.4.2009,  02:00 Найти цитируемый пост)
Какие дополнительные tables/columns необходимо создать, чтобы улучшить производительность?

Уйти от связи по текстовому полю к связи по счётчику/длинному целому.


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

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


Новичок



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

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



Цитата(Akina @ 28.4.2009,  08:05)
Цитата(Artemij @  28.4.2009,  02:00 Найти цитируемый пост)
Как решить в пределах O( nlogn )? 

Правильно построить индексы и, если нужно, принудительно сделать так, чтобы они использовались при выборке данных.

Цитата(Artemij @  28.4.2009,  02:00 Найти цитируемый пост)
Какие дополнительные tables/columns необходимо создать, чтобы улучшить производительность?

Уйти от связи по текстовому полю к связи по счётчику/длинному целому.

Спасибо, проблема решена.
PM MAIL WWW Skype GTalk MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


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

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




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


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

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