Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Опасен ли SELECT для БД  [new]
pol_butcher
Member

Откуда:
Сообщений: 4
Доброе время. Есть БД с позициями. Позиций примерно 40 тыс, для каждой позиции примерно 5-15 параметров. Структура EAV. Мне нужно вытащить данные с таблиц, за разные даты и сравнить их.
Использовать буду только SELECT. Переговорил с производителем данного ПО, он сказал что лезть в БД плохая идея, т.к. после моих действий БД может работать не корректно. Правда ли это что SELECToм можно угробить БД? В моем понимании это только нагрузка на производительность.
26 сен 19, 09:50    [21979471]     Ответить | Цитировать Сообщить модератору
 Re: Опасен ли SELECT для БД  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31331
pol_butcher
Переговорил с производителем данного ПО, он сказал что лезть в БД плохая идея, т.к. после моих действий БД может работать не корректно. Правда ли это что SELECToм можно угробить БД? В моем понимании это только нагрузка на производительность.
Да, SELECT делать безопасно, кроме повышения нагрузки на сервер, производитель в СУБД не разбирается.
26 сен 19, 09:57    [21979480]     Ответить | Цитировать Сообщить модератору
 Re: Опасен ли SELECT для БД  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3673
pol_butcher
Доброе время. Есть БД с позициями. Позиций примерно 40 тыс, для каждой позиции примерно 5-15 параметров. Структура EAV. Мне нужно вытащить данные с таблиц, за разные даты и сравнить их.
Использовать буду только SELECT. Переговорил с производителем данного ПО, он сказал что лезть в БД плохая идея, т.к. после моих действий БД может работать не корректно. Правда ли это что SELECToм можно угробить БД? В моем понимании это только нагрузка на производительность.


1. респект производителю за рекомендацию!
2. да, при условии понимания термина "угробить"
3. см. п1
26 сен 19, 10:44    [21979535]     Ответить | Цитировать Сообщить модератору
 Re: Опасен ли SELECT для БД  [new]
PsyMisha
Member

Откуда: другая столица
Сообщений: 765
pol_butcher,

Полагаю, что производитель мог иметь в виду блокировки, которые вы создадите своими запросами на чтение, что может дать побочный эффект на приложение, которое активно взаимодействует с БД - читает, пишет.

Но выглядит так вообще, по крайней мере - ваша подача - что производитель просто отмахнулся от вас, чтобы не лезли с непонятными вопросами :)

Как вы вообще сами представляете это "угробить"?
26 сен 19, 11:20    [21979570]     Ответить | Цитировать Сообщить модератору
 Re: Опасен ли SELECT для БД  [new]
buser
Member

Откуда: Санкт-Петербург
Сообщений: 4537
pol_butcher, а кто у нас "производитель"?
26 сен 19, 11:24    [21979576]     Ответить | Цитировать Сообщить модератору
 Re: Опасен ли SELECT для БД  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
buser,

Да нефиг делать остановить всё селектом
26 сен 19, 11:28    [21979580]     Ответить | Цитировать Сообщить модератору
 Re: Опасен ли SELECT для БД  [new]
L_argo
Member

Откуда:
Сообщений: 1191
Объем данных смешной. Даже без индексов должно быстро отработать.
Если конечно нет идиотских преобразований строка-дата-строка.
26 сен 19, 12:05    [21979627]     Ответить | Цитировать Сообщить модератору
 Re: Опасен ли SELECT для БД  [new]
Minamoto
Member

Откуда: Москва
Сообщений: 1162
pol_butcher
Правда ли это что SELECToм можно угробить БД? В моем понимании это только нагрузка на производительность.

У меня только такой вариант:
1) Производитель не обернул бизнес-логику в транзакции
2) Селектом можно повесить блокировку
3) Блокировка приведет к тому, что какая-либо бизнес-задача отвалится по таймауту, записав только часть данных.
4) Неконсистентные бизнес-данные из-за частичной записи приведут к некорректной работе приложения.

Т.о. производитель такими словами расписался в собственной некомпетентности, что, в общем, неудивительно для большинства производителей ПО.
26 сен 19, 12:07    [21979631]     Ответить | Цитировать Сообщить модератору
 Re: Опасен ли SELECT для БД  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Minamoto
pol_butcher
Правда ли это что SELECToм можно угробить БД? В моем понимании это только нагрузка на производительность.

У меня только такой вариант:
1) Производитель не обернул бизнес-логику в транзакции
2) Селектом можно повесить блокировку
3) Блокировка приведет к тому, что какая-либо бизнес-задача отвалится по таймауту, записав только часть данных.
4) Неконсистентные бизнес-данные из-за частичной записи приведут к некорректной работе приложения.

Т.о. производитель такими словами расписался в собственной некомпетентности, что, в общем, неудивительно для большинства производителей ПО.

так себе фантазии, мне точно проще сказать или вообще не трогайте напрямую или только вот конкретно так, чем постоянно остреливать те безумства что умудряются выстрелить в БД с отжиранием всех доступных ресурсов
26 сен 19, 12:11    [21979636]     Ответить | Цитировать Сообщить модератору
 Re: Опасен ли SELECT для БД  [new]
iiyama
Member

Откуда:
Сообщений: 642
Minamoto,

Я бы не стал так огульно обвинять производителя ПО
26 сен 19, 12:15    [21979645]     Ответить | Цитировать Сообщить модератору
 Re: Опасен ли SELECT для БД  [new]
Minamoto
Member

Откуда: Москва
Сообщений: 1162
TaPaK
так себе фантазии, мне точно проще сказать или вообще не трогайте напрямую или только вот конкретно так, чем постоянно остреливать те безумства что умудряются выстрелить в БД с отжиранием всех доступных ресурсов

Согласен, я тоже предпочту предупредить, но все же обычно делаю это более корректно:
"С большой долей вероятности обычный селект не повлияет на работоспособность БД, но некорректные манипуляции с базой могут вызвать ухудшение производительности или нарушение работоспособности системы, поэтому, при прямом доступе заказчика к БД мы снимаем с себя ответственность за работоспособность системы"


iiyama
Minamoto,

Я бы не стал так огульно обвинять производителя ПО

И этот вариант вполне вероятен, но я отвечал на заданный вопрос, исходя из предпосылки, что ТС корректно передал диалог с производителем.
26 сен 19, 12:54    [21979707]     Ответить | Цитировать Сообщить модератору
 Re: Опасен ли SELECT для БД  [new]
pol_butcher
Member

Откуда:
Сообщений: 4
Minamoto
TaPaK
так себе фантазии, мне точно проще сказать или вообще не трогайте напрямую или только вот конкретно так, чем постоянно остреливать те безумства что умудряются выстрелить в БД с отжиранием всех доступных ресурсов

Согласен, я тоже предпочту предупредить, но все же обычно делаю это более корректно:
"С большой долей вероятности обычный селект не повлияет на работоспособность БД, но некорректные манипуляции с базой могут вызвать ухудшение производительности или нарушение работоспособности системы, поэтому, при прямом доступе заказчика к БД мы снимаем с себя ответственность за работоспособность системы"


iiyama
Minamoto,

Я бы не стал так огульно обвинять производителя ПО

И этот вариант вполне вероятен, но я отвечал на заданный вопрос, исходя из предпосылки, что ТС корректно передал диалог с производителем.

Да, примерно так мне и сказали. Сервер пишет данные с приборов каждый час. Может поэтому мои действия могут повлиять на запись данных. Ладно, всем спасибо за разъяснения.
26 сен 19, 14:02    [21979814]     Ответить | Цитировать Сообщить модератору
 Re: Опасен ли SELECT для БД  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
pol_butcher
Да, примерно так мне и сказали. Сервер пишет данные с приборов каждый час. Может поэтому мои действия могут повлиять на запись данных.

выставьте базе RCSI и хоть зачитайтесь
26 сен 19, 14:23    [21979871]     Ответить | Цитировать Сообщить модератору
 Re: Опасен ли SELECT для БД  [new]
msLex
Member

Откуда:
Сообщений: 7998
Yasha123
pol_butcher
Да, примерно так мне и сказали. Сервер пишет данные с приборов каждый час. Может поэтому мои действия могут повлиять на запись данных.

выставьте базе RCSI и хоть зачитайтесь

Ни кто же не утверждал, что читать будут в RC :)
26 сен 19, 15:14    [21979960]     Ответить | Цитировать Сообщить модератору
 Re: Опасен ли SELECT для БД  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1351
сервер вполне можно положить обычным селектом даже который не будет никого блокировать :)
26 сен 19, 15:41    [21980005]     Ответить | Цитировать Сообщить модератору
 Re: Опасен ли SELECT для БД  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
felix_ff
сервер вполне можно положить обычным селектом даже который не будет никого блокировать :)

так это верно про любой сервер,
даже про пустой.
накроссджойнить системных таблиц и отсортировать.

я про его конкретную базу, где предположительно
"1) Производитель не обернул бизнес-логику в транзакции
2) Селектом можно повесить блокировку
3) Блокировка приведет к тому, что какая-либо бизнес-задача отвалится по таймауту, записав только часть данных.
4) Неконсистентные бизнес-данные из-за частичной записи приведут к некорректной работе приложения."
26 сен 19, 15:55    [21980022]     Ответить | Цитировать Сообщить модератору
 Re: Опасен ли SELECT для БД  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4683
pol_butcher,

Вам надо разобраться с таким понятием как Уровень Изоляции (ISOLATION LEVEL), тогда вы будете понимать, какой эффект тот или иной SELECT и при каких условиях создаст ту или иную блокировку в БД или не создаст.
26 сен 19, 16:01    [21980040]     Ответить | Цитировать Сообщить модератору
 Re: Опасен ли SELECT для БД  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Yasha123
pol_butcher
Да, примерно так мне и сказали. Сервер пишет данные с приборов каждый час. Может поэтому мои действия могут повлиять на запись данных.

выставьте базе RCSI и хоть зачитайтесь
Вы думайте что советуете! Тогда производитель точно снимет с себя всякую ответственность и сопровождение.
26 сен 19, 22:39    [21980358]     Ответить | Цитировать Сообщить модератору
 Re: Опасен ли SELECT для БД  [new]
Yatha
Member

Откуда:
Сообщений: 2341
Minamoto
pol_butcher
Правда ли это что SELECToм можно угробить БД? В моем понимании это только нагрузка на производительность.

У меня только такой вариант:
1) Производитель не обернул бизнес-логику в транзакции
2) Селектом можно повесить блокировку
3) Блокировка приведет к тому, что какая-либо бизнес-задача отвалится по таймауту, записав только часть данных.
4) Неконсистентные бизнес-данные из-за частичной записи приведут к некорректной работе приложения.

Т.о. производитель такими словами расписался в собственной некомпетентности, что, в общем, неудивительно для большинства производителей ПО.


а нельзя сделать select with (READUNCOMMITTED) ?
27 сен 19, 00:14    [21980419]     Ответить | Цитировать Сообщить модератору
 Re: Опасен ли SELECT для БД  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20491
pol_butcher
Правда ли это что SELECToм можно угробить БД?
Если задаться целью, и имеются соотв. права - запросто.

Простейший вариант - SELECT обращается к функции, которая выполняет какие-либо действия, способные привести к нежелательным последствиям. Формально - SELECT, а что в процессе его выполнения будут выполнены другие действия - так этого выполняющий этот запрос ведь может и "не знать"...

Не, понятно, что в данном конкретном случае о подобной гадости речи не идёт.
27 сен 19, 07:56    [21980471]     Ответить | Цитировать Сообщить модератору
 Re: Опасен ли SELECT для БД  [new]
Посетитель
Member

Откуда:
Сообщений: 1209
Akina
какие-либо действия,


какие такие "какие-либо действия"?
27 сен 19, 09:41    [21980515]     Ответить | Цитировать Сообщить модератору
 Re: Опасен ли SELECT для БД  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3673
Yasha123
pol_butcher
Да, примерно так мне и сказали. Сервер пишет данные с приборов каждый час. Может поэтому мои действия могут повлиять на запись данных.

выставьте базе RCSI и хоть зачитайтесь


ну, вот, зачем же так?
вопрос в "угробить"
27 сен 19, 09:42    [21980517]     Ответить | Цитировать Сообщить модератору
 Re: Опасен ли SELECT для БД  [new]
Alibek B.
Member

Откуда:
Сообщений: 3588
Угробить данные непосредственно select-ом нельзя, разве что какими-то побочными эффектами от окружения.
А вот угробить сервер легко. У меня на ПК неудачный запрос однажды сожрал всю память и загнал систему в бесконечный свопинг, сама система не восстановилась, пришлось перегружать.
27 сен 19, 10:04    [21980541]     Ответить | Цитировать Сообщить модератору
 Re: Опасен ли SELECT для БД  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Alibek B.
Угробить данные непосредственно select-ом нельзя, разве что какими-то побочными эффектами от окружения.
А вот угробить сервер легко. У меня на ПК неудачный запрос однажды сожрал всю память и загнал систему в бесконечный свопинг, сама система не восстановилась, пришлось перегружать.

ну тут если флеш из кривых рук писателя и dba то только священник поможет
27 сен 19, 10:10    [21980554]     Ответить | Цитировать Сообщить модератору
 Re: Опасен ли SELECT для БД  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20491
Посетитель
какие такие "какие-либо действия"?

CREATE FUNCTION be_happy() AS TRUNCATE maintable;
SELECT be_happy() FROM DUAL;
27 сен 19, 11:50    [21980713]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить