Последние комментарии

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


Александр Р.

В моем коде top 20 можно сделать так:
select top 20 *
from (
    select title, content, date from Posts
    where Title like '%sdfg%'
    union
    select title, content, date from Stories
    where Title like '%sdfg%'
) r
order by date
но если MS SQL умеет оптимизировать твой запрос, то твой запрос проще выглядит.


Тут есть еще комментарий, но он слишком подозрительный и ждет подтверждения

Михаил Фленов Зарегистрированный пользователь

С точки зрения оптимизации в данном случае результат будет один и тот же, по крайней мере SQL сервер прекрасно увидит, что идея одинакова. А вот если нужно показать 20 записей и отсортировать по времени, то результат будет разный. В твоем случае будет показаны 20 записей из Posts, а в моем будет микс, если отсорировать по Date:

select top 20 *
from (
    select title, content, date from Posts
    union
    select title, content, date from Stories
) r
where r.Title like '%sdfg%'
order by date


Александр Р.

r.Title заменил на просто Title: select title, content, date from Posts where Title like '%sdfg%' union select title, content, date from Stories where Title like '%sdfg%'. Может, базе легче будет сначала отфильтровать и объединить маленькие результаты, чем объединить большие результаты, а потом отфильтровать.


Александр Р.

Наверное, более оптимизировано будет select title, content, date from Posts where r.Title like '%sdfg%' union select title, content, date from Stories where r.Title like '%sdfg%'


Михаил Фленов Зарегистрированный пользователь

Ну у меня обычно только одна таблица, с постами. Если у тебя их несколько, то можно привести сначала в единый формат, а потом искать по нему, что-то типа такого:

select *
from (
    select title, content, date from Posts
    union
    select title, content, date from Stories
) r
where r.Title like '%sdfg%'

С точки зрения производительности в принципе должно быть терпимо, если у тебя не миллиарды записей в каждой из таблиц


Jeka Sylar Зарегистрированный пользователь

Миша а подскажите как реализовать поиск по всем разделам сайта в symfony, у меня только получается по одной таблцие posts а по другом нет  


Роман.

Спасибо!


Вася

Единственный, но фатальный недостаток Delphi - отсутствие вакансий.


Алекс

Могу сказать как со стороны работы в России. Тут будут пытаться прогнуть поработать бесплатно как во вне рабочее время, так и в выходные. Тут как бы если ТК не знаешь то будут на тебе ездить,  если знаешь, то тебе все компенсируют или найдут того, кто не знает ТК.   Говорю это на  примере компании из топ 30 списка форбс по России.  Работали так , пока не пришел человек, которые в ТК отлично разбирается. И тогда стали платить за выхи, народ в очередь выстроился работать по выхам.


О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне