Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ограничение по количеству записей 
:(
    Опции темы
Madonna
Дата 4.8.2011, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Forbidden love...
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 22.1.2009
Где: Москва

Репутация: нет
Всего: 4



Есть БД, как ограничить её до допустим 10000, и при привышении лимита старые значения должны удалятся. Т.е. очередь, а при превышении лимита записи просто выкидыватся. Быстродействие критично. 


Это сообщение отредактировал(а) Madonna - 4.8.2011, 12:47
--------------------
Best regards, Madonna
PM   Вверх
Akina
Дата 4.8.2011, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



Триггер, вероятно...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Madonna
Дата 4.8.2011, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Forbidden love...
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 22.1.2009
Где: Москва

Репутация: нет
Всего: 4



Да, наверное, триггер. Спасибо.
--------------------
Best regards, Madonna
PM   Вверх
Akina
Дата 4.8.2011, 19:33 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



ЕННсли критично быстродействие, рекомендую сразу забить в таблицу 10к пустых записей, и в instead of insert триггере апдейтить самую старую запись.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
kobra
Дата 5.8.2011, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 15.6.2005
Где: Грузия, Тбилиси

Репутация: 5
Всего: 9



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

PM MAIL   Вверх
Akina
Дата 5.8.2011, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



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


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
kobra
Дата 5.8.2011, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 15.6.2005
Где: Грузия, Тбилиси

Репутация: 5
Всего: 9



Цитата(Akina @  5.8.2011,  13:08 Найти цитируемый пост)
kobra, да, это будет чуть-чуть быстрее, но зато потеряется единообразие. Да и вытаскивание логики на клиента... 

имеется в виду процедура на сервере, так что с единообразием все будет в порядке 
PM MAIL   Вверх
Zloxa
Дата 5.8.2011, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 10
Всего: 161



Цитата(Akina @  5.8.2011,  13:08 Найти цитируемый пост)
Да и вытаскивание логики на клиента... 

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

Добавлено через 10 минут и 28 секунд
Наверно - да, если не подменять инсерт апдейтом, а делать делит, следом инсерт.....

Однако в этом случае будет случаться херня, если один из двух конкурирующих инсертов откатится, то второй, может заместить собой не ту запись, которую должен бы был. smile 

Всетке склоняюсь к процедуре, сераалайзабл, и примерением с потерей приозводительности

Это сообщение отредактировал(а) Zloxa - 5.8.2011, 14:50


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Zloxa
Дата 5.8.2011, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 10
Всего: 161



Цитата(Zloxa @  5.8.2011,  14:44 Найти цитируемый пост)
Для случая с триггером можно как нить обеспечить согласованность конкурентной записи, если клиент установит уровень изоляции транзакций в грязные чтения? 

На сколько я понимаю - да, используя <table_hint> smile 

Это сообщение отредактировал(а) Zloxa - 5.8.2011, 15:17


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0516 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.