Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (2) 1 [2]  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> SQL выбор определенного значения или первое вхожде
AllesKlar  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3691
Пользователь №: 38635
На форуме: 3 года, 5 месяцев, 29 дней
Карма: 195




Цитата (S.Chushkin @ 29.03.2017 - 09:25)
Т.е. ТС неправ, утверждая, что "Но, невозможно отсортировать по полю title т.к. имеем агрегатную функцию" ?


При таком запросе
select DISTINCT on (o.object_id) o.object_id, o.title
from objects o
order by o.object_id, o.title
сортировка идет по o.object_idю Вторая сортировка по o.title уже бессмыслена, т.к. DISTINCT on (o.object_id) o.object_id удалит все дубликаты.

Я дал DDL, дал INSERT запрос, пробуй.

Цитата (S.Chushkin @ 29.03.2017 - 08:37)
Это не ответ.
Хочешь помощи или дискуссии, будь добр - заинтересуй.
:) как мило


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
S.Chushkin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пофигист
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 817
Пользователь №: 36058
На форуме: 4 года, 5 месяцев, 28 дней
Карма: 42




Хозяин - барин...


--------------------
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3691
Пользователь №: 38635
На форуме: 3 года, 5 месяцев, 29 дней
Карма: 195




Цитата (sergeiss)
Во-первых, давай все-таки насчет условий задачи определимся  В то числе с тем, насколько часто меняются данные в исходной таблице.


Не меняются, но добавляются. Со скоростью, примерно 100 штук в минуту.
Цитата (sergeiss @ 29.03.2017 - 05:48)
Во-вторых, есть ли ограничения на объекты (их список) или вообще среди всех искать надо?

Да, конечно, есть object_class, object_type, user_id
У самого жирного клиента, примерно по 1.000.000 объектов каждого класса

Задача:
есть таблица video (видео)
есть таблица asset (картинки и все прочее, что не видео и не подлжеит перекодированию)

Клиент отправляет запрос к API, должны вернуться все объекты (класса video и asset) с определенными условиями и отсортированы по определенному полю (дата, имя файла, размер файла и т.д. метаданные)
Для целей пагинации введены еще два параметра limit и offset
Но они вступают в бой только после корректной сортировки результата.
Метаданные раскиданы по разным таблицам.
Запросы сбора метаданных были очень тяжелые, а с учетом, что (по историчесчким причинам) существует две главных таблицы (video и asset), то приходилось общий список запрашивать с UNION, и тут вообще sort by, limit и offset вместе не работают.

Поэтому была придумана денормализованная таблица objects, которая заполняется тригерами из главных таблиц и таблиц метаданных.

как-то так smile.gif


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
T1grOK  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2789
Пользователь №: 24406
На форуме: 6 лет, 8 месяцев, 9 дней
Карма: 180




Проще было бы скормить тому же sphinx и обновлять по дельте.


--------------------
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3691
Пользователь №: 38635
На форуме: 3 года, 5 месяцев, 29 дней
Карма: 195




Цитата (T1grOK @ 29.03.2017 - 17:24)
Проще было бы скормить тому же sphinx и обновлять по дельте.

Вот поэтому и есть проект-менеджеры, которые следят за разработчиками.
Потому что, если за разработчиками не следить, то в один прекрасный момент, проект перестанет приносить прибыль, т.к. все разрабы заигрались в рефакторинг smile.gif
Я даже боюсь представить реакцию генерального, на предложение вместо одного SQL запроса, для всего лишь одного конкретного метода API, установить sphinx wink.gif

Хотя, в глобальном смысле, идея интересная, можно подумать.


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (2) 1 [2]  Ответ в темуСоздание новой темыСоздание опроса