|
|
|
Спор про очередник
|
|||
|---|---|---|---|
|
#18+
Proga, Первый вариант с индексом будет прекрасно работать. (На таблице с 20 млн записей поиск по индексу практически мгновенен) Соответственно, возникает вопрос "зачем вам усложнение". Если партиционирование понадобится - можно настраивать, но начать можно и без него. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 09:27 |
|
||
|
Спор про очередник
|
|||
|---|---|---|---|
|
#18+
ProgaПредистория. Пилю очередник отправки писем и смс. Структура таблиц содержит весь набор полей необходимый для отправки, т.е. полностью независимый сервис. Количество строк в таблице - миллионы. Размерность некоторых полей nvarchar(4000). Так вот вопрос. Как лучше сделать? 1) Создать таблицу с битовым полем(флаг отправки) и при успешной отправки сообщения взводить 1. Сервис для выборки необработанных сообщений пользуется этим полем, где флаг отправки -0. За такую структуру выступаю я. Либо. Сделать таблицу и туда складывать всё то, что должно быть отправлено, а уже при успешной отправки перекидывать отработанные строки в другую таблицу, отправленных. Тогда выборка необработанных будет не по миллионной таблице, а по маленькой. Это выбор моего начальника. Аргументы у нас с ним разные. И мы решили поспорить, что лучше. И решили свой спор вынести на SQL.ru что-то мне кажется вы начальника недопоняли 1я таблица - таблица "писем", в которой лежит всё и в которой для упрощения жизни поставлена галочка отправлено/не отправлено 2я таблица - очередь, которая относительно интенсивно очищается и пополняется; реализованная вашими руками или через сервисброкер очередь совершенно не обязана держать все те же поля что и таблица с письмами - она вполне может держать только ID. или все-таки все поля - сами смотрите. по основной таблице в плане выборок вполне может помочь упомянутый индекс, но только фильтрованный, т.к. с хорошей селективностью значение только одно. общая селективность колонки низкая - там всего 2 значения возможны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 09:32 |
|
||
|
Спор про очередник
|
|||
|---|---|---|---|
|
#18+
Пилю очередник, написал как есть. а очередь для меня это индекс, который построен по полям, которые необходимы для отправки письма, вы не забывайте, что сама таблица может даже не читаться, если данных хватает в самом индексе. забыл упомянуть сервер. Microsoft SQL Server 2008 (SP3) - 10.0.5828.0 (X64) Nov 1 2012 22:54:10 Copyright (c) 1988-2008 Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 10:28 |
|
||
|
Спор про очередник
|
|||
|---|---|---|---|
|
#18+
Progaа очередь для меня это индекс, который построен по полям, которые необходимы для отправки письма, вы не забывайте, что сама таблица может даже не читаться, если данных хватает в самом индексе. пилите дальше, пилите. Использование индекса в качестве сущности прекрасный пример того, как простую задачу можно угробить различными заумными схемами и проверками как индексы работают. как раз именно по теме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 10:40 |
|
||
|
Спор про очередник
|
|||
|---|---|---|---|
|
#18+
iscrafmProgaа очередь для меня это индекс, который построен по полям, которые необходимы для отправки письма, вы не забывайте, что сама таблица может даже не читаться, если данных хватает в самом индексе. пилите дальше, пилите. Использование индекса в качестве сущности прекрасный пример того, как простую задачу можно угробить различными заумными схемами и проверками как индексы работают. как раз именно по теме не обращал на ваши высказывания. но теперь всё же отпишу. Не обнаружил в ваших высказываниях в этой ветке не одного доказательства вашей точки зрения, зачем то начали перепалку с софтварером, хотя я её вообще не ожидал от подкованных и грамотных пользователей этого форума, но это ваше право. может аргументировано докажите свою точку зрения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 10:48 |
|
||
|
Спор про очередник
|
|||
|---|---|---|---|
|
#18+
Proga, смею рекомендовать перестать делать вид что разбираетесь в вопросе и делать молча что начальник скажет. авторочередь для меня это индекс это к специалистам по межсезонным обострениям авторвы не забывайте, что сама таблица может даже не читаться, если данных хватает в самом индексе а это называется "слышал звон, не сильно понимаю, при чем ли здесь он, но в качестве аргумента в пользу чего-то там, еще не решил чего, пожалуй, применю". решение более чем нуля задач под знаменем сих светлых мыслей вполне позволит вам и самостоятельно отсеять зерновые от плевковых. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 10:57 |
|
||
|
Спор про очередник
|
|||
|---|---|---|---|
|
#18+
ProgaНе обнаружил в ваших высказываниях в этой ветке не одного доказательства вашей точки зрения ты же говоришь не обнаружил, хотя все сообщения в этой теме просто рассказ о том, как делается у нас. Читать не пробовал для того, чтобы что-то обнаружить? 18361012 вообще-то такие системы много лет работают. какие тебе еще нужны аргументы? можешь посмотреть как устроены почтовые программы для интереса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 10:59 |
|
||
|
Спор про очередник
|
|||
|---|---|---|---|
|
#18+
Пилю очередникProga, смею рекомендовать перестать делать вид что разбираетесь в вопросе и делать молча что начальник скажет. авторочередь для меня это индекс это к специалистам по межсезонным обострениям авторвы не забывайте, что сама таблица может даже не читаться, если данных хватает в самом индексе а это называется "слышал звон, не сильно понимаю, при чем ли здесь он, но в качестве аргумента в пользу чего-то там, еще не решил чего, пожалуй, применю". решение более чем нуля задач под знаменем сих светлых мыслей вполне позволит вам и самостоятельно отсеять зерновые от плевковых. Ваша серость, выйдите из тени, тогда и пообщаемся. тоже мне "шпициалист". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 11:17 |
|
||
|
Спор про очередник
|
|||
|---|---|---|---|
|
#18+
iscrafmProgaНе обнаружил в ваших высказываниях в этой ветке не одного доказательства вашей точки зрения ты же говоришь не обнаружил, хотя все сообщения в этой теме просто рассказ о том, как делается у нас. Читать не пробовал для того, чтобы что-то обнаружить? 18361012 вообще-то такие системы много лет работают. какие тебе еще нужны аргументы? можешь посмотреть как устроены почтовые программы для интереса. Я всё это читал, не сомневайтесь. А аргумент "у нас так работает" не совсем меня устраивает, хотя тоже имеет право на жизнь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 11:20 |
|
||
|
Спор про очередник
|
|||
|---|---|---|---|
|
#18+
ProgaВаша серость, выйдите из тени, тогда и пообщаемся. тоже мне "шпициалист". это уже к специалистам по проблемам взросления и вопросам самооценки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 11:24 |
|
||
|
Спор про очередник
|
|||
|---|---|---|---|
|
#18+
Proga, изменение цвета ника с серого на синий у твоего собеседника тебе прибавит уверенности? Некто говорит по теме, правда с поддевками, аналогично тому как ты и мне сказал после всех сообщений, что "не увидел аргументов". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 11:25 |
|
||
|
Спор про очередник
|
|||
|---|---|---|---|
|
#18+
Progaаргумент "у нас так работает" не совсем меня устраивает. ну значит у меня нет аргументов, если пример того, как сделано у нас или в других почтовых программах для тебя не аргумент. Публиковать математические расчеты по этой банальности нет смысла. Чуть выше ролик оказывается про тебя. Пили дальше. Твой фаворит оказывается для тебя публиковал 18359689 Индексы не забудь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 11:40 |
|
||
|
Спор про очередник
|
|||
|---|---|---|---|
|
#18+
Progaа очередь для меня это индекс, который построен по полям, которые необходимы для отправки письма, вы не забывайте, что сама таблица может даже не читаться, если данных хватает в самом индексе. Вообще индексы не являются средствами стркутурированя реляционной МД, в отлиции от таблиц. Это все же какие-то физические аспекты СУБД, хранящих данные на вторичных носителях. Т.е. их цель сократить число чтений с дика. В СУБД "ин мемори" они вообще, возможно, могут отсутствовать. Поэтому как бы придавать им модельную роль - "очередь - это индекс", возможно, все еще преждевременно. И кроме того, не исключается, что чтение из таблицы без индексов может быть быстрее, в некоторых случаях. Например, фулл скан в некоторых СУБД допускает считывание нескольких блоков за одну операцию чтения с диска, а с индексом всегда по одному. И тем более для некоторых запросов могут лучше подойти в плане производительности в общем случае, индексы отличные от "построен по полям, которые необходимы для отправки письма,". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 13:31 |
|
||
|
Спор про очередник
|
|||
|---|---|---|---|
|
#18+
iscrafmя в теме все сообщения читаю. Умница. Теперь попробуй ещё и понимать написанное. А то пока уступаешь даже товарищу сержанту из анекдота . iscrafmНаше отличие в том, что ты программер и админ У нас много отличий. Главное - ты хам с апломбом, живущий в мире собственных фантазий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 13:41 |
|
||
|
Спор про очередник
|
|||
|---|---|---|---|
|
#18+
softwareriscrafmя в теме все сообщения читаю. Умница. Теперь попробуй ещё и понимать написанное. А то пока уступаешь даже товарищу сержанту из анекдота . горе-специалист, ты бы не тупил так откровенно. Тебя же здесь типа "гуру" считают. И не нужно мне приписывать какие-то ярлыки, у тебя индекс сбоит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 13:54 |
|
||
|
Спор про очередник
|
|||
|---|---|---|---|
|
#18+
ТС пусть задумается даже над простейшим вопросом: что быстрее будет обработано INSERT или UPDATE в его ситуации. Это даже не загадка про курицу и яйцо. Но если не хочешь читать о том как делаются очереди, то какова цель создания подобной темы вообще? Потешить ЧСВ свое, дать возможность "поумничать" местным "гуру" типа softwarer на тему индексов, которые в этом вопросе совершенно не при чем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 14:02 |
|
||
|
Спор про очередник
|
|||
|---|---|---|---|
|
#18+
ProgaПилю очередник, написал как есть. а очередь для меня это индекс, который построен по полям, которые необходимы для отправки письма, вы не забывайте, что сама таблица может даже не читаться, если данных хватает в самом индексе. забыл упомянуть сервер. Microsoft SQL Server 2008 (SP3) - 10.0.5828.0 (X64) Nov 1 2012 22:54:10 Copyright (c) 1988-2008 Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) Но не стоит забывать, при обновлении будет обновлятся и страница с записью и индекс. => Аналогично тому, как если бы была отделная таблица. Я за разделение. 1. Таблица для сообжений с временем доставки 2. Таблица для статуса отправки. (Возможно нужно ещё время попытки доставки и кол-во попыток.) И таки да: вставлять/обновлять/удалять в таблицу 2 и обновлять таблицу 1. Поводы для разделения тоже важны: Таблица 2 - очередь доставки - отдельная сущность и может быть организована другими средствами. Может быть без лога, может быть просто представлением и может ещё куча всего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2015, 18:31 |
|
||
|
Спор про очередник
|
|||
|---|---|---|---|
|
#18+
ИМХО очередь на отправку и лог уведомлений - суть разные вещи. Как уже писалось выше, первая может быть реализована "другими средствами": RabbitMQ, MongoDB capped collection. Также сегодня два канала уведомления (email, sms), а завтра попросят push на мобилу добавить, а послезавтра в Exchange кидать, или в Slack, или... И обо всём этом сохранять информацию. А клиент предпочтёт какой-то один канал другим, или будет все использовать. А менеджер захочет кастомизировать шаблон сообщения для каждого канала. А потом захочет статистику смотреть и агрегаты строить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2015, 18:44 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=39094577&tid=1540445]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
164ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 501ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...