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

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


Александр Р.

Интересная новость:
Нэт Фридман (Nat Friedman), возглавивший GitHub после приобретения компании Microsoft в 2018 году, заявил в Twitter, что в компании уже ведется работа над заменой термина master на более нейтральный аналог,  например, main, чтобы избежать ненужных отсылок к рабовладельческим временам.
Если это действительно произойдет, GitHub станет одной из многих ИТ-компаний и опенсорсных проектов, которые в последние годы высказались в пользу отказа от различных терминов, которые могут быть истолкованы как оскорбительные с точки зрения чернокожих разработчиков.
Подобные изменения обычно включают в себя отказ от использования терминов master и slave («хозяин» и «раб») в пользу таких альтернатив как main, default, primary и, соответственно, secondary. Также устоявшиеся понятия whitelist и blacklist, то есть «черный список» и «белый список»,­ заменяют на нейтральные allow list и deny/exclude list («список разрешений» и «список запретов/исключений»).
https://xakep.ru/2020/06/16/master-slave/


Серж

Под андроид сделай, больше шансов взлететь... я бы попробовал.


Серж

Каждый сам для себя придумывает свой смысл жизни что бы оправдать своё существование перед самим собой, но на самом деле смысла в жизни нет.


Алекс

Как бы дико не звучало. В Россию хочу в отпуск приехать. А так на выходных можно смотаться на море) относительно не дорого. Привет из Солнечного Королевства Камбоджа.


Михаил Фленов

Предпоследний комментарий:
На 99% уверен, что where дважды и один раз снаружи будут выполняться одинаково сервером. По любому серверу придется бежать по обеим таблицам отдельно, а потом объединять результат.

Последний комментарий:
На 99% уверен, что разницы не будет. По любому серверу придется искать данные в t1 по фильтру, а потом пристыковывать результат от t2, а каким образом будет стыковка - loop, merge или hash будет зависеть от статистики. а не от того, как ты написал запрос. Хотя бывают случаи, сервер некорректно прочитает твой запрос, ступит и падает в банальный loop, как в самый надежный, но не всегда производительный. Пиши как в первом случае, чем проще напишешь, тем больше шансов, что SQL сервер правильно поймет, какой тебе результат нужен


Александр Р.

Я хотел спросить. Допустим, есть 2 больших таблицы
select t1.*, t2.*
from t1
inner join t2 on t1.id = t2.id
where t1.date between 10.06.2020 and 12.06.2020
есть ли смысл фильтровать до join:
select t1.*, t2.*
from (select * from t1 where t1.date between 10.06.2020 and 12.06.2020) t1
inner join t2 on t1.id = t2.id
в MS SQL?


Александр Р.

В моем коде 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%'. Может, базе легче будет сначала отфильтровать и объединить маленькие результаты, чем объединить большие результаты, а потом отфильтровать.


О блоге

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

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

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

Пишите мне