powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Маркерный интерфейс
6 сообщений из 56, страница 3 из 3
Маркерный интерфейс
    #39883370
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
love_bachпросто интересно - если бы ну вот сильно сильно надо было , то как?

в идеале, подписываться на события, которые генерит команда.
два варианта подписки:
1. постоянная подписка, логика отдельно, хорошо.
2. разовая подписка на изменение, тогда командам хорошо бы иметь свои ид-шники, приемлимое решение

суть в том, что команда может генерировать множество событий, ещё команда может вызывать вложенные команды, а вам может понадобится только какое-то конкретное событие.
...
Рейтинг: 0 / 0
Маркерный интерфейс
    #39883371
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
love_bachlove_bachвынести эту нормализацию из команды?

точно!
бл*, она еще и в валидаторах, типа если могу - нормализирую.
придется и это еще исправить

да, отличная идея :)
...
Рейтинг: 0 / 0
Маркерный интерфейс
    #39883372
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthathVosttтогда можно было и отказаться от автоинкремента и просто сделать свой гуид примари
Гуид примари для кластерного индекса это не очень хорошо, потому что он не sequential и это сильно тормозит вставку. Тут разве что если генерить последовательные гуиды (в сиквеле есть готовая ф-ия, на клиенте немного сложнее, но вполне решаемо). Но, собственно, пара айдишек на деле совсем не напрягает, тем более у нас эти "внешние" guid-ы почти везде используются только для корней агрегатов.

если скорость вставки так критична, то да, норм решение
не думаю, что стоит заморачиваться с генерацией последовательных гуидов )
...
Рейтинг: 0 / 0
Маркерный интерфейс
    #39883415
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthathVosttтогда можно было и отказаться от автоинкремента и просто сделать свой гуид примари
Гуид примари для кластерного индекса это не очень хорошо, потому что он не sequential и это сильно тормозит вставку. Тут разве что если генерить последовательные гуиды (в сиквеле есть готовая ф-ия, на клиенте немного сложнее, но вполне решаемо). Но, собственно, пара айдишек на деле совсем не напрягает, тем более у нас эти "внешние" guid-ы почти везде используются только для корней агрегатов.
Можно делать некластерным (primary key nonclustered), проблему со скоростью вставки это вполне решает (но надо смотреть как это отразиться на скорости других запросов).
...
Рейтинг: 0 / 0
Маркерный интерфейс
    #39883706
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttне думаю, что стоит заморачиваться с генерацией последовательных гуидов )
На самом деле, это очень просто, у меня где-то даже готовый код валяется для этого. МС-овский гуид (UUID версии 4) - это просто случайные биты (кроме то ли шести то ли семи фиксированных). Достаточно взять "обычный" гуид и часть старших битов заменить на таймстемп. Возможны правда сбои в порядке при одновременной генерации на разных узлах, но если их вероятностью можно пренебречь, то все должно быть ок.
...
Рейтинг: 0 / 0
Маркерный интерфейс
    #39883862
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,

недавно была дискуссия https://www.sql.ru/forum/1287606/vnyatno-obyasnit-pochemu-klasterizovannyy-indeks-po-guid-huzhe-int

я бы всёж не заморачивался с этим до реальных замеров в конкретном кейсе. ну медленнее вставка будет, вопрос насколько? создаёт ли это проблемы с текущей пиковой нагрузкой? а если нужен шардинг, то что? ну и т.д. :)
...
Рейтинг: 0 / 0
6 сообщений из 56, страница 3 из 3
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Маркерный интерфейс
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]