|
|
|
Тонкости оптимизации для небольшой но очень часто используемой хранимой процедуры MSSQL
|
|||
|---|---|---|---|
|
#18+
DimaBr, "D_Reg DESC, N_Reg DESC" Да, да я это тоже сегодня заметил. Это из темного прошлого наверное. Уберем конечно же :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2018, 17:08 |
|
||
|
Тонкости оптимизации для небольшой но очень часто используемой хранимой процедуры MSSQL
|
|||
|---|---|---|---|
|
#18+
DimaBrКак можно оптимизировать кусок кода, если МЫ не понимаем что он делает ??? Объясняй смысл кода !!! Начало этой хп такое Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2018, 17:15 |
|
||
|
Тонкости оптимизации для небольшой но очень часто используемой хранимой процедуры MSSQL
|
|||
|---|---|---|---|
|
#18+
Саму процедуру прислал во вложении. Да наверное лучше было бы на форум MSSQL отправить тему. Но и по Delphi скорее всего есть вопросы. Хранимая процедура вызывается компонентом SDAC Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. и объекты параметры у нее не определены. Один компонент для всех процедур. И как показывает профайлер каждый раз выполняется запрос Код: sql 1. . Читаются и создаются объекты -параметры хранимой процедуры. А а они всегда одни и теже по названию и типу. Наверное если брать типа такого Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. , то будет лучше ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2018, 20:21 |
|
||
|
Тонкости оптимизации для небольшой но очень часто используемой хранимой процедуры MSSQL
|
|||
|---|---|---|---|
|
#18+
Объясни словами, что делает код??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2018, 21:26 |
|
||
|
Тонкости оптимизации для небольшой но очень часто используемой хранимой процедуры MSSQL
|
|||
|---|---|---|---|
|
#18+
DimaBr, если бы он сам знал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2018, 22:09 |
|
||
|
Тонкости оптимизации для небольшой но очень часто используемой хранимой процедуры MSSQL
|
|||
|---|---|---|---|
|
#18+
Тогда это не лечится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2018, 22:11 |
|
||
|
Тонкости оптимизации для небольшой но очень часто используемой хранимой процедуры MSSQL
|
|||
|---|---|---|---|
|
#18+
DimaBr, Корректирует резервы в соответствии с остатками, чаще всего после того как остатки изменила накладная. Накладная изменяет остатки в той же транзакции но до вызова этой хп. Резервы корректируются так чтобы обеспечивать правило Остатки = Резервы + "То что требуется заказам на расход, но нет в наличии (у нас называют условно "неудовлетворенный спрос") " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2018, 22:11 |
|
||
|
Тонкости оптимизации для небольшой но очень часто используемой хранимой процедуры MSSQL
|
|||
|---|---|---|---|
|
#18+
И каждая 1 или несколько записей резервов связаны с одним заказом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2018, 22:15 |
|
||
|
Тонкости оптимизации для небольшой но очень часто используемой хранимой процедуры MSSQL
|
|||
|---|---|---|---|
|
#18+
Резерв - это фактически отгруженная накладная, её нельзя корректировать. Если что-то зарезервировано, то считай что этого на складе уже нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2018, 00:07 |
|
||
|
Тонкости оптимизации для небольшой но очень часто используемой хранимой процедуры MSSQL
|
|||
|---|---|---|---|
|
#18+
DimaBr, У нас резерв это часть остатка. Накладная списывает остаток сразу. Хорошо ли это или плохо, правильно или нет обсуждать особого смысла сейчас нет. Оно так было, есть и будет, со мной или без меня. А по улучшениям быстродействия есть ли какие-нибудь мысли куда копать? И со стороны MSSQL или Delphi. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2018, 08:22 |
|
||
|
Тонкости оптимизации для небольшой но очень часто используемой хранимой процедуры MSSQL
|
|||
|---|---|---|---|
|
#18+
bilovДед-Папыхтет, Таблица резервов (меньшая из двух) у меня такая Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. Проблемы в ней видно сразу. По логике ни одно из полей не должно быть NULL никогда, а они имеют такую возможность. Наверное это тоже вредит чуть чуть. Надо будет на работе вопрос поднять. Можно было бы и текст процедуры выложить, но он здоровый довольно, только логику вопроса затуманит. А курсор с которым сражаюсь я выкладывал, можно найти по "set @Delta =@K_Res-@K_Ost" Подскажи еще по индексу CREATE NONCLUSTERED INDEX [Ind_C_Tov_C_Obj] ON [dbo].[Reserveds]. Это индекс на другую таблицу Reserveds, в то время как ты объявляешь в скрипте таблицу без буквы s в конце? Или это просто опечатка твоя? Пока полагаю все таки таблица Reserved - опечатка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2018, 11:12 |
|
||
|
Тонкости оптимизации для небольшой но очень часто используемой хранимой процедуры MSSQL
|
|||
|---|---|---|---|
|
#18+
Дед-Папыхтет, Да опечатка, пардон. Таблицы Reserved - резервы, OstN - остатки. У нас переименовывали зачем-то давно, Reserveds - это синоним. Уберу потом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2018, 11:26 |
|
||
|
Тонкости оптимизации для небольшой но очень часто используемой хранимой процедуры MSSQL
|
|||
|---|---|---|---|
|
#18+
Ещё раз извиняюсь. Будем считать " Таблицы Reserved - резервы, OstN - остатки" в реальности чуть-чуть по-другому называются и каждый раз реплайсю (параноя небольшая :) . С синонимом я сейчас соврал откровенно, ведь индекс нельзя создать для синонима. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2018, 11:38 |
|
||
|
Тонкости оптимизации для небольшой но очень часто используемой хранимой процедуры MSSQL
|
|||
|---|---|---|---|
|
#18+
bilov, Еще, что за таблицы SchN_, SchD_, SchLink - очевидно какие то счета и связь с ними? Опишите их назначение и структуру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2018, 13:33 |
|
||
|
Тонкости оптимизации для небольшой но очень часто используемой хранимой процедуры MSSQL
|
|||
|---|---|---|---|
|
#18+
bilov, И что такое @T_N входной параметр? Какие значения он может принимать и что они означают? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2018, 14:16 |
|
||
|
Тонкости оптимизации для небольшой но очень часто используемой хранимой процедуры MSSQL
|
|||
|---|---|---|---|
|
#18+
Дед-Папыхтет, SchN_, SchD_ - соответственно заголовки и содержимое заказов (таблицы с громаднейшим числом сток), SchLink - ерунда - не смотрите. "@T_N входной параметр" пока вообще мертвый и потом для SchLink будет нужен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2018, 11:38 |
|
||
|
Тонкости оптимизации для небольшой но очень часто используемой хранимой процедуры MSSQL
|
|||
|---|---|---|---|
|
#18+
таблицы_заказов Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2018, 13:10 |
|
||
|
Тонкости оптимизации для небольшой но очень часто используемой хранимой процедуры MSSQL
|
|||
|---|---|---|---|
|
#18+
Никакой таблицы остатков быть не может. Остатки вещь виртуальная, вчера были одни остатки, сегодня другие завтра третьи. В вашей концепции нельзя узнать количество остатков в определённый промежуток времени, нельзя ввести новую накладную "задним числом", потому что неизвестно сколько остатка было на то число. Архитектура неверная. Повторяю, Остаток на Дату = Ближайшая Инвентаризация + Приход - Расход - Резерв И не нужно ничего пересчитывать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2018, 18:32 |
|
||
|
Тонкости оптимизации для небольшой но очень часто используемой хранимой процедуры MSSQL
|
|||
|---|---|---|---|
|
#18+
Судя по исчерпывающе-информативным именам полей в таблицах (типа T_D), а также учитывая, что структура БД скорее всего неверная (о чем я уже писал), пытатся что-либо там "оптимизировать" равнозначно копанию в отходах жизнедеятельности (извините за резкость). Бросьте, как я уже выше советовал. Работает кое-как, пусть себе работает, пока не рухнуло... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2018, 19:13 |
|
||
|
Тонкости оптимизации для небольшой но очень часто используемой хранимой процедуры MSSQL
|
|||
|---|---|---|---|
|
#18+
Понятно. А можете посоветовать тогда какой-нибудь материал (книги, ресурсы) именно по планированию, архитектуре серьёзной учетно-складской системы. В данном вопросе это конечно же бесполезно, но в общем на будущее анализировать все это хоть сколько-нибудь общепринятой научной точки зрения было бы хорошо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2018, 22:37 |
|
||
|
Тонкости оптимизации для небольшой но очень часто используемой хранимой процедуры MSSQL
|
|||
|---|---|---|---|
|
#18+
bilov, сильно сомневаюсь что в интернете удасться найти что-то подобное. Никто такое не публикует. Все, что могу предложить - схема изменения состояния предмета http://polaris.ho.ua/help/sisp.htm Может, натолкнет на правильные мысли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2018, 23:05 |
|
||
|
Тонкости оптимизации для небольшой но очень часто используемой хранимой процедуры MSSQL
|
|||
|---|---|---|---|
|
#18+
d7i, Спасибо надеюсь что-нибудь почерпнем. Жаль где и как эта вещь работает не узнать. Под названием "Поларис" масса систем и компаний разных от ракет до мультиварок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2018, 09:14 |
|
||
|
Тонкости оптимизации для небольшой но очень часто используемой хранимой процедуры MSSQL
|
|||
|---|---|---|---|
|
#18+
bilov, напишите свои вопросы на update.polaris@ukr.net, я вам всё разъясню. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2018, 10:42 |
|
||
|
Тонкости оптимизации для небольшой но очень часто используемой хранимой процедуры MSSQL
|
|||
|---|---|---|---|
|
#18+
А запуск хранимой процедуры через специальный компонент SDAC (н/р Код: pascal 1. ) это в большинстве случаев лучше для производительности чем запуск её в компоненте (TMSQuery) в скрипте вида "exec spMySmallProc @Param1=... " ? Какие-то планы выполнения запросов настраиваются, запоминаются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2018, 22:51 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39634003&tid=2040969]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
18ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 328ms |

| 0 / 0 |
