Size: a a a

SqlCom.ru - Стиль жизни SQL

2020 December 16

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Elvira
к сожалению нет, это надо вывести селектом без использования case и iif  чисто использовать row_number
и это пример, в реале база больше во много раз
как присвоить id  .... SELECT-ом ?
источник

E

Elvira in SqlCom.ru - Стиль жизни SQL
Ilia Zviagin
как присвоить id  .... SELECT-ом ?
я неправильно выразилась возможно. Вобщем в селекте надо вывести все ид
Andrew 1
Igor 2
arkadiy 3
Ivan null
Dmitri null
стало
name id
Andrew 1
Igor 2
arkadiy 3
Ivan 4
Dmitri 5
источник

АА

Андрей Агеев... in SqlCom.ru - Стиль жизни SQL
Elvira
я неправильно выразилась возможно. Вобщем в селекте надо вывести все ид
Andrew 1
Igor 2
arkadiy 3
Ivan null
Dmitri null
стало
name id
Andrew 1
Igor 2
arkadiy 3
Ivan 4
Dmitri 5
правил нет? просто соблюсти уникальность?
или может еще дырки заполнить надо?
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Elvira
я неправильно выразилась возможно. Вобщем в селекте надо вывести все ид
Andrew 1
Igor 2
arkadiy 3
Ivan null
Dmitri null
стало
name id
Andrew 1
Igor 2
arkadiy 3
Ivan 4
Dmitri 5
ну это бессмысленно делать ...
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
Elvira
я неправильно выразилась возможно. Вобщем в селекте надо вывести все ид
Andrew 1
Igor 2
arkadiy 3
Ivan null
Dmitri null
стало
name id
Andrew 1
Igor 2
arkadiy 3
Ivan 4
Dmitri 5
а почему именно Иван 4, а не дмитрий?
источник

E

Elvira in SqlCom.ru - Стиль жизни SQL
Андрій
а почему именно Иван 4, а не дмитрий?
ну можно и Диму 4 делать) главное пронумеровать) у меня данные другие, это я просто упрастила
источник

ДС

Джон Сноу in SqlCom.ru - Стиль жизни SQL
Oleg T
SSAS на одном хосте с Database Engine?
Да. На одном
источник

O

Oleg T in SqlCom.ru - Стиль жизни SQL
Джон Сноу
Да. На одном
Можно попробовать память перераспределить между ними. SSAS и Database Engine очень плохо живут вместе. в целом, SSAS в драке за память даст 100 очков вперед Database Engine и уроет его как щенка. потому лучше их держать на разных хостах либо очень жётско настраивать память - никакого оверлапа - т.е. их суммарное разрешенное количество ОЗУ должно быть меньше чем ОЗУ на сервере минус еще около 10% на ОС и поддержание штанов.
источник

O

Oleg T in SqlCom.ru - Стиль жизни SQL
Oleg T
Можно попробовать память перераспределить между ними. SSAS и Database Engine очень плохо живут вместе. в целом, SSAS в драке за память даст 100 очков вперед Database Engine и уроет его как щенка. потому лучше их держать на разных хостах либо очень жётско настраивать память - никакого оверлапа - т.е. их суммарное разрешенное количество ОЗУ должно быть меньше чем ОЗУ на сервере минус еще около 10% на ОС и поддержание штанов.
Если OOM происходит имеенно в Database engine, то это как раз то о чем я говорил - SSAS зохавал память на процессинг и выборка данных для процессинга сдохла по памяти когда SQL Server попытался аллоцировать страницу и это не вышло.
источник

АА

Андрей Агеев... in SqlCom.ru - Стиль жизни SQL
Elvira
ну можно и Диму 4 делать) главное пронумеровать) у меня данные другие, это я просто упрастила
select a.name,isnull(a.id,a.mid+a.rn)id
from (select x.*,row_number()over(
partition by cast(isnull(x.id,0) as bit)
order by cast(isnull(x.id,0) as bit),
x.name)rn,max(x.id)over()mid
from(values('Andrew', 1),
('Igor', 2),('arkadiy', 3),
('Ivan', null),('Dmitri', null)
)x(name,id))a order by id
источник

E

Elvira in SqlCom.ru - Стиль жизни SQL
Андрей Агеев
select a.name,isnull(a.id,a.mid+a.rn)id
from (select x.*,row_number()over(
partition by cast(isnull(x.id,0) as bit)
order by cast(isnull(x.id,0) as bit),
x.name)rn,max(x.id)over()mid
from(values('Andrew', 1),
('Igor', 2),('arkadiy', 3),
('Ivan', null),('Dmitri', null)
)x(name,id))a order by id
не, это прям жестко...
По другому сейчас объясню что у меня (почти)

в общем у тебя есть таблица T2 в которой 1800строк не identity
есть выборка с name
name id
a 1500
b 1400
c null
d null
e null

надо c d e присвоить 1801 1802 1803
источник

E

Elvira in SqlCom.ru - Стиль жизни SQL
через юнион не могу, у меня джоинов внутри запросов много
источник

АА

Андрей Агеев... in SqlCom.ru - Стиль жизни SQL
Elvira
не, это прям жестко...
По другому сейчас объясню что у меня (почти)

в общем у тебя есть таблица T2 в которой 1800строк не identity
есть выборка с name
name id
a 1500
b 1400
c null
d null
e null

надо c d e присвоить 1801 1802 1803
почему же с 1801 если строк всего 1800?
источник

ДС

Джон Сноу in SqlCom.ru - Стиль жизни SQL
Oleg T
Если OOM происходит имеенно в Database engine, то это как раз то о чем я говорил - SSAS зохавал память на процессинг и выборка данных для процессинга сдохла по памяти когда SQL Server попытался аллоцировать страницу и это не вышло.
С ходу не могу все проглотить. Позже обдумаю. Спасибо за помощь)
источник

E

Elvira in SqlCom.ru - Стиль жизни SQL
Андрей Агеев
почему же с 1801 если строк всего 1800?
потому что мы с той таблицы (где есть null) заносим новые данные в таблицу с 1800 строками, а те у которых есть ИД апдейтим
источник

АА

Андрей Агеев... in SqlCom.ru - Стиль жизни SQL
Elvira
потому что мы с той таблицы (где есть null) заносим новые данные в таблицу с 1800 строками, а те у которых есть ИД апдейтим
ну адаптируйте под ситуацию, row_number() он и в африке такой же + макс. id
источник

E

Elvira in SqlCom.ru - Стиль жизни SQL
Андрей Агеев
ну адаптируйте под ситуацию, row_number() он и в африке такой же + макс. id
их нельзя апдейтить
источник

АА

Андрей Агеев... in SqlCom.ru - Стиль жизни SQL
Elvira
их нельзя апдейтить
я не предлагал
источник

OM

Oleg Makarikhin in SqlCom.ru - Стиль жизни SQL
Привет, подскажите по классической проблеме:
select top 1 .... FROM table  T1 WHERE REVRECID=@P1
при каких-то значениях параметра сервер принимает решение сканировать кластерный пк, при других - индекс сик идеальный. особенно обижает что неправильный выбор происходит при REVRECID близких к максимальному.
обновление статистики "помогает не надолго".
источник

OM

Oleg Makarikhin in SqlCom.ru - Стиль жизни SQL
возможности захинтовать индекс нет
источник