|
|
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2009, 21:53 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
Очень по-дурацки... мне не понравилось, ну и гадость ваша заливная рыба ваш линку :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2009, 22:11 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
а как такое условие вписать в LINQ ? скрипт для таблиц Код: plaintext 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. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. простую выборку сделал как и написал выше, а where кудой и как вставлять? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2009, 16:07 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
ЧирфСкрипт Денис, вот это профессионально. Респект! :) Чтобы что-то начать делать на линке, попробуйте оптимизировать/упростить запрос: Код: plaintext 1. 2. 3. 4. 5. Тогда LINQ-запрос будет таким: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Сам линк сгенерит вот такой запрос: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2009, 16:42 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
Сорри, не увидел группировку :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2009, 16:59 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
Спасибо огромное!!! угук ;) такому проффессионалу как Вы такие опечатки непростительны МСУ Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2009, 17:02 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУ, и что, скуль запрос все ещё генерится целиком? Денис, группировка тут не нужна, возьми первое предложение Данилки с джойном и навесь на результат distinct ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2009, 17:04 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
семкиМСУ, и что, скуль запрос все ещё генерится целиком? Денис, группировка тут не нужна, возьми первое предложение Данилки с джойном и навесь на результат distinctв продуктах сорты повторяются, не подходит так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2009, 17:07 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
семкиМСУ, и что, скуль запрос все ещё генерится целиком? Денис, группировка тут не нужна, возьми первое предложение Данилки с джойном и навесь на результат distinct Cheerful Calf объясните этому студенту, что просто джойн не пойдет, т.к. он размножит записи в основном наборе :) Пипец, даже тут щас семки буду учить писать скрипты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2009, 17:07 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
Distinct - это жесть. План выполнения потом посмотрите после distinct'а :) Distinct - без причины на то - это зло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2009, 17:11 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
Cheerful Calfв продуктах сорты повторяются, не подходит так ну так я же и предлагаю повесить сверху distinct, на первый взгляд должно прокатить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2009, 17:11 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУDistinct - это жесть. План выполнения потом посмотрите после distinct'а :) Distinct - без причины на то - это зло. скуль-то выдай вот этого Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2009, 17:12 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
семкискуль-то выдай вот этого А по-русски? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2009, 17:14 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУ, запрос, который генерит LINQ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2009, 17:15 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
семкискуль-то выдай вот этогообязуюсь провести тестирование на больших количествах данных))) тока напиши как с дистинктом в линку ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2009, 17:17 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
семкиМСУ, запрос, который генерит LINQ Да примерно такой же запрос и генерит, даже чутка пооптимальней. Вполне съедобно. И уж однозначно лучше, чем дистинкт основного набора данных. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2009, 17:17 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
Cheerful Calfобязуюсь провести тестирование на больших количествах данных))) тока напиши как с дистинктом в линку ) на память вроде так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2009, 17:19 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУсемкиМСУ, запрос, который генерит LINQ Да примерно такой же запрос и генерит, даже чутка пооптимальней. Вполне съедобно. И уж однозначно лучше, чем дистинкт основного набора данных. а если теперь зааттачить планы выполнения того и другого? уж извини что отвлекаю, строгать локальную базу как-то неохота :) и, кстати, все-таки, а что сгенерит LINQ на эти два? :) Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2009, 17:21 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
семкиа если теперь зааттачить планы выполнения того и другого? уж извини что отвлекаю, строгать локальную базу как-то неохота :) Лень. Я сто процентов знаю, что дистинкт будет хуже. Не верите - пробуйте сами. Зачем мне опять что-то кому-то доказывать. семкии, кстати, все-таки, а что сгенерит LINQ на эти два? :) Я уже говорил: Во-вторых, слейте сорцы и проверьте сами. Очень похоже на подходы Севы - никогда не юзает своё, только всё стреляет код, тесты, планы и так далее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2009, 17:27 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУ Я уже говорил: Во-вторых, слейте сорцы и проверьте сами. Очень похоже на подходы Севы - никогда не юзает своё, только всё стреляет код, тесты, планы и так далее. ты мне врешь, Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2009, 17:30 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. А вообще, Денису, по-хорошему, тоже двойку за структуру нужно ставить. Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2009, 17:32 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
семкиты мне врешь Атец, вот код. Сорцы на месте. От него нужно плясать: Код: plaintext 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. Во-вторых, я неоднократно уже говорил - отперестановки мест слагаемых... То бишь - без разницы, какой из запросов выполняется первым. Почему - я уже говорил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2009, 17:35 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУсемкиты мне врешь Атец, вот код. Сорцы на месте. От него нужно плясать: Во-вторых, я неоднократно уже говорил - отперестановки мест слагаемых... То бишь - без разницы, какой из запросов выполняется первым. Почему - я уже говорил. да ты нереально трудный. Выкинь этот код, он появился позже, тут ошибок нет поэтому ты и тупишь, либо ты втихую его исправил и продолжаешь косить под дурочку. Возьми исходный код, относительно которого я начал тебе писать. Он содержит две строчки: grid.DataSource = result ; gridPager.Render(totalRecords, result.Count() ); result имеет тип IQueryable. И выполняется он у тебя ДВА раза первый раз - биндится грид, читает содержимое с сервера. второй раз - считается количество элементов, которое забиндилось в грид, но оба-на, оно тоже считается на сервере . Итого на сервер уходит 2 (ДВА) одинаковых запроса: 1) select top 50 2) select count(*) from (select top 50) я тебя и спросил, начерта тебе нужен второй, если достаточно первого? ну ты конечно тихонько это подправил, но в дебила играл долго и усердно. Достаточно понятно разжевал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2009, 17:40 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
семкида ты нереально трудный. Выкинь этот код, он появился позже, тут ошибок нет поэтому ты и тупишь, либо ты втихую его исправил и продолжаешь косить под дурочку. Возьми исходный код, относительно которого я начал тебе писать. Он содержит две строчки: grid.DataSource = result; gridPager.Render(totalRecords, result.Count()); Вовсе не так. Это ты нереально трудный - выкинь этот код и смотри в сорцы, это код в самом начале где-то светанулся, так как писан был от руки. Не доходит? семкиresult имеет тип IQueryable. И выполняется он у тебя ДВА раза первый раз - биндится грид, читает содержимое с сервера. второй раз - считается количество элементов, которое забиндилось в грид, но оба-на, оно тоже считается на сервере. В том первом коде два раза проскочил серверный каунт - и хрен бы с ним. И что, это как-то отразилось на сорце? семкиИтого на сервер уходит 2 (ДВА) одинаковых запроса: 1) select top 50 2) select count(*) from (select top 50) На сервер уходт один главный запрос и 2 каунта. Ну и чего дальше-то? семкия тебя и спросил, начерта тебе нужен второй, если достаточно первого? ну ты конечно тихонько это подправил, но в дебила играл долго и усердно. Достаточно понятно разжевал? Нифига подобного. Сначала ты сам облажался, а потом начал искать, к чему бы якорь закинуть. Начал дегенеративно косить под тупика. Читаем: семкизачем в контроле в списке скуль запросов справа нужен второй запрос ? достаточно первого То есть - речь о списке. В списке - их по-любому должно быть два. Ты же протупил что типа "одного запроса хватит" для пейджинга. Потом начал реально под оленя косить, типа "пейджинг тут причем", "порядок запросов" и так далее - уводя от сути твоей тупости. Но меня так не проведешь - тупость-то она налицо. Тут ты реально опростоволосился. Ибо в списке должно быть ДВА запроса. Одного - недостаточно. Не переваливай в больной головы на здоровую. Тупость про дистинкт - тоже будет отрицать? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2009, 17:49 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУ Вовсе не так. Это ты нереально трудный - выкинь этот код и смотри в сорцы, это код в самом начале где-то светанулся, так как писан был от руки. Не доходит? от руки? че-та я сомневаюсь http://www.sql.ru/forum/actualthread.aspx?tid=717843&pg=1#8026941 прямо так вижу как ты от руки фигаришь его в студии, а потом от руки рисуешь скриншоты в пейнте того, как этот код отработал ну-ну, придержи свои байки для кого-нибудь другого. Такая же фигня у тебя в первом же скриншоте, относящемся к посту по этой ссылке. Вывод - бага была изначально там. Заметь, к ней же я и задал свой вопрос. МСУВ том первом коде два раза проскочил серверный каунт - и хрен бы с ним. И что, это как-то отразилось на сорце? я понятия не имею что и как там у тебя отражается. Если ты не врубаешься, что count(*) от select top 50 не вернет тебе общего количества элементов , которое нужно для пейджинга (который ты сразу же зачем-то приплел, хотя вопрос был не про него), то про какие знания скуля ты нам тут всем втираешь? МСУ На сервер уходт один главный запрос и 2 каунта. Ну и чего дальше-то? а то, что я тебя об этом и спросил, зачем нужен count, если он не нужен? ты быстренько подправил исходники и продолжил свою игру в дурачка. МСУ Нифига подобного. Сначала ты сам облажался, а потом начал искать, к чему бы якорь закинуть. Начал дегенеративно косить под тупика. Читаем: семкизачем в контроле в списке скуль запросов справа нужен второй запрос ? достаточно первого То есть - речь о списке. В списке - их по-любому должно быть два. Ты же протупил что типа "одного запроса хватит" для пейджинга. стоп стоп стоп, а вот слово "пейджинг" ты дописал сюда сам, признайся Ну и выше ты же написал, что "уходин один главный и 2 каунта", т.е. три запроса. Путаешься в показаниях? понятия не имею куда у тебя потерялся третий из лога, не экстрасенс, я тебя спрашивал исключительно про то, что в нем написано в запечатленный момент. Ну что, Данилка, чуешь что не прав был, али ещё нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2009, 17:58 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
слышу булькающие звуки из туалета ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2009, 23:16 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
Cheerful Calfобязуюсь провести тестирование на больших количествах данных... Код: plaintext Код: plaintext 1. 2. 3. Код: plaintext Код: plaintext 1. Таблица продукты и индексы Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 17:16 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
ОРИГИНАЛЬНЫЙ T-SQL Aнализируемый T-SQL (выполнился в QA за < 1 сек) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. SET STATISTICS PROFILE ON Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 17:17 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
ВАРИАНТ МСУ LINQ Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Сгенеренный и анализируемый T-SQL (выполнился в QA за 2 сек) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. SET STATISTICS PROFILE ON Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 17:17 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
ВАРИАНТ семки LINQ Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Сгенеренный и анализируемый T-SQL (выполнился в QA за 13 сек) Код: plaintext 1. 2. 3. 4. 5. 6. 7. SET STATISTICS PROFILE ON Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 17:18 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
Ну вот, семячки опять облажались ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 17:35 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
Cheerful Calf, 13 секунд, подозрительно конечно, но ладно. сколько раз запускал? настораживает: Table Scan(OBJECT:([bonzai].[resources].[Translations] AS [t1]), WHERE:([@p0]=[bonzai].[resources].[Translations].[CultureCode] as [t1].[CultureCode])) нет индекса на culturecode? сделай culturecode + code индексы, судя по всему, за тебя профайлер делал :) он не всегда предлагает идеальные решения. второй скан |--Table Scan(OBJECT:([bonzai].[production].[Sorts] AS [t0])) поля [t0].[SortCode], [t0].[SortName] приаттач к индексу таблицы Sorts, чтобы не нужно было лазать за ними обратно в таблицу (приаттач != добавь как индексируемые) приаттач поле DisplayInListFlag к индексу _dta_index_Products_9_5575058__K11_K2 таблицы Products когда поправишь индексы запость время и планы ещё раз для сравнения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 17:41 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУНу вот, семячки опять облажались ооо, вылезло.... весь день отмалчивалось. Слышь, МСУ, пиздеть команды не было, ты упал ниже плинтуса после вчерашнего разбора полетов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 17:42 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
семкиупал ниже плинтуса после вчерашнего разбора полетов. Ага, вот этот: семячкизачем в контроле в списке скуль запросов справа нужен второй запрос? достаточно первого просад не то, что ниже плинтуса, а вообще не канает на вменяемость P.S. Если для пейджинга "достаточно первого" запроса, то я - Ваша бабушка, мистер ламо :) P.S2. Особенно нравится вот такая схема: семки ну так я же и предлагаю повесить сверху distinct, на первый взгляд должно прокатить? :) P.S. А вот это вообще цирк: семкину так я же и предлагаю повесить сверху distinct, на первый взгляд должно прокатить ? :) Ржака-ржака ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 17:45 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУ, а ты не знал, что такой кретинизм как твой не лечится? я че-то не припомню чтобы ты про свою буйную фантазию что-нибудь смог ответить. Вместо этого продолжаешь агонизированно фантазировать семки[ МСУ семкизачем в контроле в списке скуль запросов справа нужен второй запрос ? достаточно первого То есть - речь о списке. В списке - их по-любому должно быть два. Ты же протупил что типа "одного запроса хватит" для пейджинга. стоп стоп стоп, а вот слово "пейджинг" ты дописал сюда сам, признайся Ну и выше ты же написал, что "уходин один главный и 2 каунта", т.е. три запроса. Путаешься в показаниях? понятия не имею куда у тебя потерялся третий из лога, не экстрасенс, я тебя спрашивал исключительно про то, что в нем написано в запечатленный момент. Ну что, Данилка, чуешь что не прав был, али ещё нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 17:48 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
семкиМСУ, а ты не знал, что такой кретинизм как твой не лечится? я че-то не припомню чтобы ты про свою буйную фантазию что-нибудь смог ответить. Вместо этого продолжаешь агонизированно фантазировать Вот это: семячки от бабки тонистоп стоп стоп, а вот слово "пейджинг" ты дописал сюда сам, признайся ваще ржач :) Да, про "пейджинг" вообще не было ни слова в ветке. Особенно если учитывать, что именно им топиккастер им и интересовался ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 17:50 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
Чирфуль Денис, ну так какую оценку ставите мне и семячкам за запросы? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 17:51 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
>>13 секунд, подозрительно конечно, но ладно. сколько раз запускал? 4 >>нет индекса на culturecode? сделай culturecode + code там было только 4 записи, дабавил, но ничего не поменялось - результат тот же - 13 секунд >>индексы, судя по всему, за тебя профайлер делал :) он не всегда предлагает идеальные решения. ну да, профайлером. но условия конкурса то для всех одинаковые :) >>[t0].[SortCode], [t0].[SortName] приаттач к индексу таблицы Sorts, чтобы не нужно было лазать >>за ними обратно в таблицу (приаттач != добавь как индексируемые) вообщето там тоже около 8 записей. приаттачил. стало еще хуже - 26 сек. Код: plaintext 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. >>приаттач поле DisplayInListFlag к индексу _dta_index_Products_9_5575058__K11_K2 >> таблицы Products так ведь он и так там был: Cheerful Calf Код: plaintext 1. 2. 3. 4. 5. >>когда поправишь индексы запость время и планы ещё раз для сравнения ну вот первыйничего не дал, а второй усугубил ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 17:55 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУ Да, про "пейджинг" вообще не было ни слова в ветке. Особенно если учитывать, что именно им топиккастер им и интересовался только общались с тобой а не с топикстартером, и не на тему пейджинга а на тему накорябанного в твоем окошечке, ну так, чисто чтобы тебя подъебнуть на ошибке. знаешь, почему с тобой неинтересно спорить? потому что ты не умеешь читать, что тебе пишут, опухшее ЧСВ не позволяет. Ты скучен, однообразен, дебиловат и задрочен форумом. Сочувствую тебе, Данилка, прощаю тебя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 17:58 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
Cheerful Calf там было только 4 записи, дабавил, но ничего не поменялось - результат тот же - 13 секунд а, ну на 4х сканировать-то быстрее :) тогда понятно. Монитор не настолько широкий, чтобы охватить весь текстовый дамп статистики Cheerful Calf >>[t0].[SortCode], [t0].[SortName] приаттач к индексу таблицы Sorts, чтобы не нужно было лазать >>за ними обратно в таблицу (приаттач != добавь как индексируемые) вообщето там тоже около 8 записей. приаттачил. стало еще хуже - 26 сек. да, когда записей мало это не имеет смысла, таблицу прошурстить быстрее. Cheerful Calf >>приаттач поле DisplayInListFlag к индексу _dta_index_Products_9_5575058__K11_K2 >> таблицы Products так ведь он и так там был: ага проглядел Cheerful Calf >>когда поправишь индексы запость время и планы ещё раз для сравнения ну вот первыйничего не дал, а второй усугубил ) не ну норм, оставляй с группировкой, я просто прикинул что возможно линк ниасилит такое в скуль завернуть, поэтому рискнул предложить дистинкт, но раз смог то все хорошо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 18:01 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
семкитолько общались с тобой а не с топикстартером, и не на тему пейджинга а на тему накорябанного в твоем окошечке, ну так, чисто чтобы тебя подъебнуть на ошибке. А ошибки не было-то, сынко. Было 3 запроса (один лишний): 1. Count(*) - его в окошке не видно было, т.к. запись в экшен лог писалась ниже 2. Select - его мы видели 3. Count(*) from Select - это как-раз и был лишним запросом, он ничего плохого не делал, вот он: Код: plaintext Так что, ошибки были разве что у Вас в голове, ламка :)) семкизнаешь, почему с тобой неинтересно спорить? потому что ты не умеешь читать, что тебе пишут Знаешь, почему с тобой неинтересно спорить? Потому что ты не способен ни писать кода, ни мыслить, ни советовать. Просто колобок, который просто катится себе. Да, Сева? семкиТы скучен, однообразен, дебиловат и задрочен форумом. Сочувствую тебе, Данилка, прощаю тебя Все свои болячки пытаетесь наружу пнуть другим? Не надо, оставьте при себе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 18:04 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУРжака-ржака ну как ребенок в детском саду, ей богу. Надавали по жопе, а у него включилась защитная реакция - истерично смеяться, прыгать вокруг и продолжать орать про свое, заткнув уши пальчиками и прикрикивать "а я тебя не слыышуу!!". Просто так, напоследок ассоциация проскочила :) да, таких деток обижать не стоит, их психика может только ухудшиться... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 18:05 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
семкиCheerful Calfтак ведь он и так там был: ага проглядел Признайтесь, не проглядели, а протупили ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 18:06 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУ Код: plaintext дебилушка мой, я тебя именно про это и спросил, а потом ещё сам разжевал и в ротик тебе положил, не дошло? МСУ Знаешь, почему с тобой неинтересно спорить? Потому что ты не способен ни писать кода, ни мыслить, ни советовать. Просто колобок, который просто катится себе. Да, Сева? фантазируешь, деточка? севы мерещятся? не он тебя по попке набил, не он неужели ещё не научился отличать кто тебе пишет? а код я тебе напишу когда у тебя вопрос умный возникнет, не раньше и не позже подумай пока, направь фантазию в нужное русло. Не способен? учись, до пенсии ещё далеко! или уже не очень, ась? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 18:09 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
семкидебилушка мой, я тебя именно про это и спросил, а потом ещё сам разжевал и в ротик тебе положил, не дошло? Сынок, какой ротик? Вот этот маниакально-депрессивный всплеск разума: семеназачем в контроле в списке скуль запросов справа нужен второй запрос? достаточно первого каким боком к пейджингу относится? ась? )) Так как, достаточно первого? семкипенсия Рот на замок - и осмысливать вышесказанное :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 21:05 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУ каким боком к пейджингу относится? ась? )) вот именно что никак, когда до тебя дойдет уже, наконец. Для тупых, краткое содержание для закрепления: МСУвот как надо делать пейджинг! (показывает код и скриншот) МСУа вот я улучшил! (показывает новый скриншот:) [ грид с данными ][ лог запросов ] (лог запросов, цитирую: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. семкиа зачем в логе нужен второй запрос? достаточно первого МСУда это пейджинг!! ртфм!! семкикакой пейджинг? МСУэто пейджинг, нужно вначале считать каунт, потом селект! нет, вначале селект, потом каунт!! а вообще я проверил и, оказывается, неважно в каком порядке!! семкикакой пейджинг из каунт от top 50? МСУда каунт нужен! count(*) from ( select top 50 ) нужен для пейджинга, а ты не знал?!! семкиты ибанулся? МСУбла бла бла, пейджинг, блаблабла семкиты дебил? МСУпейджинг, блаблабла, сам дебил далее идет непереводимая игра слов МСУну да, у меня была вначале ошибка, где считалось число результатов, но это тут причем? тебе объяснить зачем нужен каунт для пейджинга? семкиты дебил? причем тут пейджинг? я тебя про эту ошибку и спрашивал МСУржака ржака, тебе объяснить зачем каунт в пейджинге? МСУ, извини, я не знаю как общаться с такими невменяемыми дебилами, как ты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 22:33 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
MCУ, я рад, что ты меня помнишь. За count(*) я бы тебя выпорол, за запрос в угол поставил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 22:47 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
семкиМСУ, извини, я не знаю как общаться с такими невменяемыми дебилами, как ты Вы не знаете, как общаться, потому что сами есть дибил SeVaMCУ, я рад, что ты меня помнишь. За count(*) я бы тебя выпорол, за запрос в угол поставил. Мозгами еще не обременены, чтобы в углы ставить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 09:25 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
Проснулся,Данилка подмастерье. За полный count только на галеры(грести тебе можно доверять только, когда весло строго в одной дырке) и плетью почаще(дурь и спесь выбивать). Это только для пионерских баз и заведений, где ты штаны протираешь. С такими запросами никакое железо не спасет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 09:38 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
SeVaПроснулся,Данилка подмастерье. За полный count только на галеры(грести тебе можно доверять только, когда весло строго в одной дырке) и плетью почаще(дурь и спесь выбивать). Это только для пионерских баз и заведений, где ты штаны протираешь. С такими запросами никакое железо не спасет. Сынок, LinqDataSource, который работает точно так же (Count(*) и Select Paging) - тоже в топку? Разработчиков казнить? Тестировал на миллионе записей свой пейджинг - летает как птица. Фильтр + Пейджинг = Удобство и скорость Как был дятлом, Сева, там им и остаешься P.S. Пипец, сколько от Вас нового узнать можно. Теперь и пейджинг - это зло ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 10:15 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУSeVaПроснулся,Данилка подмастерье. За полный count только на галеры(грести тебе можно доверять только, когда весло строго в одной дырке) и плетью почаще(дурь и спесь выбивать). Это только для пионерских баз и заведений, где ты штаны протираешь. С такими запросами никакое железо не спасет. Сынок, LinqDataSource, который работает точно так же (Count(*) и Select Paging) - тоже в топку? Разработчиков казнить? Тестировал на миллионе записей свой пейджинг - летает как птица. Фильтр + Пейджинг = Удобство и скорость Как был дятлом, Сева, там им и остаешься P.S. Пипец, сколько от Вас нового узнать можно. Теперь и пейджинг - это зло Нет, Данилка, и весло тебе доверить нельзя, весь корабль разнесешь в щепки со своей дурью.Опять себе диагноз подписываешь, таким "разработчикам" только лоботамия чтоб не буйствовали, а лучше - за борт балласт. Пейджинг - штука нужна, но только не в шаловливых ручонках ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 10:31 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
SeVaНет, Данилка, и весло тебе доверить нельзя, весь корабль разнесешь в щепки со своей дурью.Опять себе диагноз подписываешь, таким "разработчикам" только лоботамия чтоб не буйствовали, а лучше - за борт балласт. Ага, как всегда - аргументов целая куча. Ну-ка, примерчик можно - как "правильно" писать пейджинг? Или слабо? SeVaПейджинг - штука нужна, но только не в шаловливых ручонках Ага: SeVaЗа полный count только на галеры Ну-ка, пейджинг без Count(*) - в студию. Ась? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 10:43 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
А своим скудным слабо, "практик"? Этот тривиальный рецепт всем известен кроме тебя. Хамам, я морды бью, а не учу их уму, разуму, тем более, что это уже не поможет. Только санитары, смерительная рубашка и уколы. Давай, прояви свой недюженный, а то может и лоботамия не нужна за отсутствием серого вещества. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 11:16 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
бл* ну и багадельня. Модератор кажись пока прикрыть топик пока они в лахмотья монитор не порвали. А Вас МСУ я не понимаю. Вы даказали что ваш код будет работать быстрее и он лучше. Тема, то как звучит не помните (это ко всем). Что вы тут хрень всякую разводите. не обращайте внимание поарут, погоречатся и отойду. Вы же, МСУ, уже столько тут дельных советов дали... я бы игнорировал таких собеседников. Да еще и не по теме высказываются. Её богу Троль ландия какая то. Одна из основных проблем человека - проблема выбора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 11:25 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
SeVaА своим скудным слабо, "практик"? Дык я ж написал уже. Так Вы напишите лучше или снова - сто двадцать первый слив и детские отмазки типа "Я пишу код за деньги"? SeVaЭтот тривиальный рецепт всем известен кроме тебя. Это всё хорошо, но где код? SeVaХамам, я морды бью, а не учу их уму, разуму, тем более, что это уже не поможет. Ууу, как всё банально. Вы не меняетесь, милок... Как я понимаю, "более правильного" решения не будет? SeVaДавай, прояви свой недюженный, а то может и лоботамия не нужна за отсутствием серого вещества. Гав ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 11:25 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
gdsА Вас МСУ я не понимаю. Вы даказали что ваш код будет работать быстрее и он лучше. Тема, то как звучит не помните (это ко всем). Что вы тут хрень всякую разводите. не обращайте внимание поарут, погоречатся и отойду. Вы же, МСУ, уже столько тут дельных советов дали... я бы игнорировал таких собеседников. Да еще и не по теме высказываются. Согласен с Вами, gds ... Ухожу :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 11:26 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУgdsА Вас МСУ я не понимаю. Вы даказали что ваш код будет работать быстрее и он лучше. Тема, то как звучит не помните (это ко всем). Что вы тут хрень всякую разводите. не обращайте внимание поарут, погоречатся и отойду. Вы же, МСУ, уже столько тут дельных советов дали... я бы игнорировал таких собеседников. Да еще и не по теме высказываются. Согласен с Вами, gds ... Ухожу :) Gds, запросов с полными сканами почти лимона записей быть не должно никогда. Иначе, если пользователей будет не три калеки, база ляжет или будут мертвые блокировки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 11:48 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
SeVa, Не совсем понятен смылс вашего участия в этом топике. Вернее понятен, но всё-таки хотелось быть о Вас лучшего мнения. Пока что кроме пустозвонства и неординарных фантазий на тему гребли галер веслами (интересно, с чего бы это, надо перечитать Фрейда, а то Ваша психология не до конца понятна) от Вас ничего не вышло. Тема пейджинга, на мой взгляд актуальна. Тема оптимального, лёгкого. быстрого пейджинга - тем более. Вы можете привести пример хорошей и граммотной реализации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 12:04 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
SeVaзапросов с полными сканами почти лимона записей быть не должно никогда. Что то подобное нам втирали на первом курсе по БД, когда я учился в институте. Ну неужели, Вы, SeVa, думаете что об этом знаете только вы. А знаете как езще бывает. Придут на работу с утра операционисты и бухгалтера, человек 60. включат комп. Запустят прогу всключат фильтр по платежкам/переводам и забудут выставить диапазаны, или слетят. И вот тогда то и начинается самое интересное (выдача всех документов за 10 лет). Типо у меня комп сломался. Программы не работают. и т.д. 5-7 минут подумает переварит и выдаст инфу. На своей практике у меня такое чут ли не каждый день. По сабжу и (вроде по вопросу) да надо выбирать минимальный набор. Но и надо быть готовым к тому, что какой нить идиот захочет получить весь список. так что бы было. или интересно полистать. Если есть по сабжу вопросы постараюсь ответить. В остальном извените не хотца флудить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 12:08 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
Cheerful CalfSeVa, Не совсем понятен смылс вашего участия в этом топике. Не так, Денис. Нужно так: "SeVa, Не совсем понятен смылс вашего участия в форумах sql.ru" :) Cheerful Calf... // поскипано // ... Это от него не только я просил. Тщетно. Сева пишет код в форум только за деньги :) SeVaGds, запросов с полными сканами почти лимона записей быть не должно никогда . Иначе, если пользователей будет не три калеки, база ляжет или будут мертвые блокировки. Ты реально такой дибил, да? Код: plaintext 1. 1. Stream Aggregate (Aggregate): Цена 4% 2. Index Scan: Цена 96% Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 1. Sort: Цена 100 % 2. Clustered Index Scan: Цена 0% Где ты тут увидел фулскан, дятел? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 12:10 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
gdsПо сабжу и (вроде по вопросу) да надо выбирать минимальный набор. Но и надо быть готовым к тому, что какой нить идиот захочет получить весь список . так что бы было. или интересно полистать. gds, а в случае пейждера, который я привёл - это исключено . Весь список пользователь не получит, он получит только конкретную страницу (Page). В этом-то и заключается прелесть пейджинга - не дать лишнего :) А вот "практик" Сева говорит, что пеёджинг зло. Где правда? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 12:13 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУgdsПо сабжу и (вроде по вопросу) да надо выбирать минимальный набор. Но и надо быть готовым к тому, что какой нить идиот захочет получить весь список . так что бы было. или интересно полистать. gds, а в случае пейждера, который я привёл - это исключено . Весь список пользователь не получит, он получит только конкретную страницу (Page). В этом-то и заключается прелесть пейджинга - не дать лишнего :) А вот "практик" Сева говорит, что пеёджинг зло. Где правда? ) Спасибо за инфу буду знать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 12:14 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
gdsСпасибо за инфу буду знать. На здоровье :) Там топик и называется, собственно, "Извлечение данных по мере надобности" Вот тут я приводил примеры под Linq2SQL/EF и NHibernate, для выдирания страницы (Page) данных с сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 12:17 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУВот тут я приводил примеры под Linq2SQL/EF и NHibernate, для выдирания страницы (Page) данных с сервера. Еще раз спасибо и за ссылку тоже по Linq как раз то что надо. Помню этот топик просматривал, но чесно говоря не придал тогда особого внимания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 12:20 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
gdsМСУВот тут я приводил примеры под Linq2SQL/EF и NHibernate, для выдирания страницы (Page) данных с сервера. Еще раз спасибо и за ссылку тоже по Linq как раз то что надо. Помню этот топик просматривал, но чесно говоря не придал тогда особого внимания. Вот тут : тестовый проект с пейджингом. Сам пейджер оформил в отдельный контрол. Контрол особо не причесывал, но работает исправно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 12:24 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУ, спасибо, обязательно посмотрю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 12:28 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
Cheerful CalfSeVa, Не совсем понятен смылс вашего участия в этом топике. Вернее понятен, но всё-таки хотелось быть о Вас лучшего мнения. Пока что кроме пустозвонства и неординарных фантазий на тему гребли галер веслами (интересно, с чего бы это, надо перечитать Фрейда, а то Ваша психология не до конца понятна) от Вас ничего не вышло. Тема пейджинга, на мой взгляд актуальна. Тема оптимального, лёгкого. быстрого пейджинга - тем более. Вы можете привести пример хорошей и граммотной реализации? gds, позволю себе еще один совет, не нужно становится в позу и брать пример с хамов типа МСУ. Если для запроса, который возращает 4 записи нужно просканировать таблицу в 5 лимонов, то нужно менять структуру или разбираться так ли он нужен. Простых и быстрых пейджингов на сложных выборках не бывает, посему если селективность маленькая, то нужно ограничивать кол-во топом и выводить соответсвующее предупреждение. Все равно никто не будет просматривать даже сотню записей.Иначе все умрет, чудес не бывает. Помимо снижения производительности будет возрастать вероятность мертвых блокировок. Ты в курсе, что простой селект и update по индексному полю может ее вызвать? ЗЫ Индексы на маленьких таблицах лучше не ставить, будут только лишние тормоза.В некоторых случаях даже на таблицах до 256К. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 12:43 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
SeVagds, позволю себе еще один совет, не нужно становится в позу и брать пример с хамов типа МСУ. Это не пример кода, насколько я понимаю SeVaЕсли для запроса, который возращает 4 записи нужно просканировать таблицу в 5 лимонов, то нужно менять структуру или разбираться так ли он нужен. Ты реально тупой... 5 млн. записей - нужно менять структуру? Упал со стула Ты вообще представляешь себе объемы данных в биллинговых системах? Срочно читать про секционировние таблиц, дуралей ) Но всего-лишь для 5 миллионов записей секционирование не применяют. Это очень мало. Понимаю, если еще речь о ста миллионах. Теперь мы все знаем, с какими студенческими табличками из тыщи записей Вы работаете :) SeVaИначе все умрет, чудес не бывает. Умереть можешь только ты, ничего не смыслящий в базах данных и в планах выполнения запросов :) SeVaПомимо снижения производительности будет возрастать вероятность мертвых блокировок. Грязное чтение юзай, клоун :) SeVaТы в курсе, что простой селект и update по индексному полю может ее вызвать? Открыл америку. P.S. Сева, Вам не только я уже говорил - прример "грамотного" пейджинга будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 12:57 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
SeVaПростых и быстрых пейджингов на сложных выборках не бываетТо есть Вы вообще против пейджинга? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 13:04 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУSeVagds, позволю себе еще один совет, не нужно становится в позу и брать пример с хамов типа МСУ. Это не пример кода, насколько я понимаю SeVaЕсли для запроса, который возращает 4 записи нужно просканировать таблицу в 5 лимонов, то нужно менять структуру или разбираться так ли он нужен. Ты реально тупой... 5 млн. записей - нужно менять структуру? Упал со стула Ты вообще представляешь себе объемы данных в биллинговых системах? Срочно читать про секционировние таблиц, дуралей ) Но всего-лишь для 5 миллионов записей секционирование не применяют. Это очень мало. Понимаю, если еще речь о ста миллионах. Теперь мы все знаем, с какими студенческими табличками из тыщи записей Вы работаете :) SeVaИначе все умрет, чудес не бывает. Умереть можешь только ты, ничего не смыслящий в базах данных и в планах выполнения запросов :) SeVaПомимо снижения производительности будет возрастать вероятность мертвых блокировок. Грязное чтение юзай, клоун :) SeVaТы в курсе, что простой селект и update по индексному полю может ее вызвать? Открыл америку. P.S. Сева, Вам не только я уже говорил - прример "грамотного" пейджинга будет? MCУ, в отличии от тебя, я прекрасно знаю, что такое биллинговые системы. Уверяю тебя, таких как ты туда бы и близко не подпустили. Грязное чтение - грязные данные, первый признак кривизны решения, но для палаты №6 сойдет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 13:09 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
Cheerful CalfSeVa, Не совсем понятен смылс вашего участия в этом топике. Вернее понятен, но всё-таки хотелось быть о Вас лучшего мнения. Пока что кроме пустозвонства и неординарных фантазий на тему гребли галер веслами (интересно, с чего бы это, надо перечитать Фрейда, а то Ваша психология не до конца понятна) от Вас ничего не вышло. Тема пейджинга, на мой взгляд актуальна. Тема оптимального, лёгкого. быстрого пейджинга - тем более. Вы можете привести пример хорошей и граммотной реализации? А смысла и не стоит искать (имхо). С уровнем знаний МСУ ему не тягаться, и для тех, кто на форуме далеко, это доказывать не нужно. А обсирать других - много ума не надо, хотя некоторые при этом забывают снять штаны... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 13:12 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
далеко => давно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 13:13 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
SeVaMCУ, в отличии от тебя, я прекрасно знаю, что такое биллинговые системы. Уверяю тебя, таких как ты туда бы и близко не подпустили. Я бы Вас даже в серверную подметать не подпустил бы, не то что программировать. Как был ламаком, так им и остался :) SeVaГрязное чтение - грязные данные, первый признак кривизны решения, но для палаты №6 сойдет. Да ладно? Идите расскажите это на MS SQL Server форуме Ты реально неудачник. Тебя в детстве били, да? Коллеги! Оказывется, уровень изолированности транзакций "грязное" чтение - это зло Специально для тебя (мне больше не о чем говорить с пустозвоном) и в последний раз - грязное чтение - замечательный инструмент для наборов данных под отчеты, чтобы не просаживать сервер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 13:20 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
Cheerful CalfSeVaПростых и быстрых пейджингов на сложных выборках не бываетТо есть Вы вообще против пейджинга? Если можно обойтись без него, то да.Представь себе ситуацию из одного проекта. Порядка 30К предприятий, у них около 70К заводов и параходов, умножь это на несколько десятков пользователей.Основной запрос - выборка из таблиц иградиентов -продуктов других фирм (по 2000К в каждой) с джойном еще дюжины таблиц, если не делать ограничений на кол-во возращаемых записей (пользователи ребята ленивые и не будут напрягаться), никакое секционирование не поможет, база будет лежать пластом. Какой смысл показывать милионы? Они их все равно не будут смотреть. Постраничная выборка была, но ставилось ограничение на 200 записей и все работало с нормальной скоростью. Хочешь найти, потрудись задать нормальные условия. Свои продукты они могли просматривать полностью, но это уже совсем другие объемы. Полных сканов на таких таблицах быть не должно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 13:25 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
SeVaПейджинг - штука нужна SeVaЕсли можно обойтись без него, то да. Тогда не понятно в каких случая он "штука нужная" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 13:31 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
SeVaПорядка 30К предприятий, у них около 70К заводов и параходов, умножь это на несколько десятков пользователей.Основной запрос - выборка из таблиц иградиентов -продуктов других фирм (по 2000К в каждой) с джойном еще дюжины таблиц, если не делать ограничений на кол-во возращаемых записей (пользователи ребята ленивые и не будут напрягаться), никакое секционирование не поможет, база будет лежать пластом. И что, под 30К предприятий и 70К заводов используется одна БД? Аааааа, мочить дебила Севу Слетел со стула Да там репликация должны быть между всеми звеньями. Паблишер, дестрибьютер и подписчик - классика репликации. Курите хоть транзакционную реплику, хоть мерж, хоть репликацию снимков. А, я ж забыл. Сева даже не знает, что такое репликация SeVaКакой смысл показывать милионы? Для дятлов - пейджинг не показывает миллионы. Он показывает страницу (например, из 50 записейц) Всё, дальнейший бред дятла Севы я не могу читать. Да, под 30К предприятий и 70К заводов используется одна БД и все щимятся в одну таблицу продуктов. Ухахаха ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 13:32 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
Compositumдалеко => давно Оговорка прям по Фрейду.Не только от форума далеко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 13:32 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
Cheerful CalfSeVaПейджинг - штука нужна SeVaЕсли можно обойтись без него, то да. Тогда не понятно в каких случая он "штука нужная" ? +1 Я тоже хотел об этом послушать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 13:32 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУSeVaПорядка 30К предприятий, у них около 70К заводов и параходов, умножь это на несколько десятков пользователей.Основной запрос - выборка из таблиц иградиентов -продуктов других фирм (по 2000К в каждой) с джойном еще дюжины таблиц, если не делать ограничений на кол-во возращаемых записей (пользователи ребята ленивые и не будут напрягаться), никакое секционирование не поможет, база будет лежать пластом. И что, под 30К предприятий и 70К заводов используется одна БД? Аааааа, мочить дебила Севу Слетел со стула Да там репликация должны быть между всеми звеньями. Паблишер, дестрибьютер и подписчик - классика репликации. Курите хоть транзакционную реплику, хоть мерж, хоть репликацию снимков. А, я ж забыл. Сева даже не знает, что такое репликация SeVaКакой смысл показывать милионы? Для дятлов - пейджинг не показывает миллионы. Он показывает страницу (например, из 50 записейц) Всё, дальнейший бред дятла Севы я не могу читать. Да, под 30К предприятий и 70К заводов используется одна БД и все щимятся в одну таблицу продуктов. Ухахаха Кино. Какая репликация!? Предприятия все чужие, комы ты будешь нужен со своими базами, репликациями и головной болью? Ты представляешь себе репликации 70К БД? Выборка должна делаться быстро и из единой БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 13:36 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
SeVaКино. Какая репликация!? Предприятия все чужие, комы ты будешь нужен со своими базами, репликациями и головной болью? Обыкновенная В каждой организации стоит сервер с БД и нужные таблички. Читайте, ламос: Replication Distribution Agent Синхронизация каждой таблицы, хп, функции и т.д. настраивается под каждое предприятие. SeVaТы представляешь себе репликации 70К БД? Выборка должна делаться быстро и из единой БД. Представляю. И не вижу никаких сложностей. Чем это принципиально отличается от репликации 100 БД? Во-вторых: сама задача - надуманная байка дедушки римуса. 30К предприятий и 70К заводов - все щимились в оду БД в табшлицу продуктов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 13:44 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУCheerful CalfSeVaПейджинг - штука нужна SeVaЕсли можно обойтись без него, то да. Тогда не понятно в каких случая он "штука нужная" ? +1 Я тоже хотел об этом послушать. Ответ будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 13:45 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
SeVaпод 30К предприятий и 70К заводов используется одна БД Скажите мне. Предположим на каждом предприятии и заводе по 10 рабочих. Ну так самый мизер. Код: plaintext По поводу "грязного" чтения. Это очень удобно (идеально удобно) для формирования всякого рода отчетности или списка какого нить. т.к. актуальность данных производится на момент начала запроса. т.е. предположим запрос у вас отрабатывает за 30 сек. Вероятность, что кто то поменяет в корне данных за этот промежуток времени очень мала. Ну а если кто то добавит или удалит запись, то это ничего страшного т.к. вы получали актуальность данных именно на момент запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 13:46 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
gdsэтож пипец какая пропускная способность должна быть. Чет вы там реально не табак курите. Да он п..дит, как всегда. Вы ж знайте с кем говорите. Главный п..бол sql.ru - Сева. Сказочник, фантаст-публицсит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 13:50 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
Опечатался сверху Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 13:52 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
gdsSeVaпод 30К предприятий и 70К заводов используется одна БД Скажите мне. Предположим на каждом предприятии и заводе по 10 рабочих. Ну так самый мизер. Код: plaintext По поводу "грязного" чтения. Это очень удобно (идеально удобно) для формирования всякого рода отчетности или списка какого нить. т.к. актуальность данных производится на момент начала запроса. т.е. предположим запрос у вас отрабатывает за 30 сек. Вероятность, что кто то поменяет в корне данных за этот промежуток времени очень мала. Ну а если кто то добавит или удалит запись, то это ничего страшного т.к. вы получали актуальность данных именно на момент запроса. Всем изветсно, что одновременно работают 5-10%, раздели это на 24 часа(предприятия по всему миру),получишь совсем другие цифры. Но даже с ними и грязным чтением никакое железо не поможет. Приятно было пообщаться, но в больших кол-вах ты заразен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 13:54 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
SeVaВсем изветсно, что одновременно работают 5-10% Это кому известно, что одновременно работают 5-10% на 30К предприятиях и 70К заводах? Вы, что-ли, даете такую гарантию? )) Жесть :) P.S. Неполный список перлов от Севы: 1. Membership - это зло 2. Pricipal более продвинутый и гибкий вариант,к нему может быть прикручен любой метод и свойства 3. Пейджинг - это зло 4. "Пейджинг - штука нужная , но только не в шаловливых ручонках" 5. Грязное чтение - это зло 6. ... 7. ... и так далее Самый главное для Севы: пожелание Изопропила ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 14:00 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
SeVaВсем изветсно, что одновременно работают 5-10%, Это вы сильно занизили. Хотите сказать у меня из 10 бухов работаю 0.5 - 1 человек? одновременно? Например. Да у нас бы уже давно все уволили. А когда отчетность там еще и руководство на просмотр операций за день. чуть ли не каждые 5-10 мин. сканит базу. По опыту знаю может если и неработают то запущено приложение и сканы идут точно. что бы пасьянс успеть свернуть и показать "А вот я работаю просматриваю данные". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 14:04 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
SeVa, так что насчет пейджинга? можете объяснить почему эту штуку не надо использовать, но в то же время она нужная?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 14:10 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУ Самый главное для Севы: пожелание Изопропила плиз прекратите, а то меня с работы выгонят за истерический смех. Как это смотрится со стороны? Чел сидит программирeет и плачет от смеха медленно скатываясь под стол. p.s. Парабовал, респект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 14:10 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
MCУ, есть еще много прописных истин, но тебе они не будут доступны.Ты, как наивный чукотский юноша, который ничего кроме фигвама и белого медведя не видел, полагаешь, что других решений, кроме твоего быть не может. Неужели ты думаешь, что в таких задачах напрямую работают с БД без сервера приложений и без тонкого клиента? Там ПО и железа было на лимоны.За одну только техподдержку IBM платили более 50К в год(точную цифру уже не помню). В командировке ты пару раз побывал, попробовал вкус апельсина, но и только. авторSeVa, так что насчет пейджинга? можете объяснить почему эту штуку не надо использовать, но в то же время она нужная?? Если идет полный скан, то ограничивайте выборку или смотрите,как можно от этого избавиться. Попробуйте хотя бы раз провести стрестестирование, сразу все увидете.Если, как у MCУ - пару бухов и кладовщик, то можете идти по его стопам, ничего страшного не будет с парой запросов в месяц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 14:31 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
SeVaMCУ, есть еще много прописных истин, но тебе они не будут доступны. Это есть аргумент, чтобы не показывать код, который будет "лучше" моего? :) SeVaТы, как наивный чукотский юноша, который ничего кроме фигвама и белого медведя не видел, полагаешь, что других решений, кроме твоего быть не может. Я такое не говорил, в отличие от Вас. Наоборот, я прошу продемонстрировать Ваши знания и опыт. И, как всегда, напрасно. Ни кода от Севы, ни тестов, ни планов, ни решений. Один только пустой белый шум... SeVaНеужели ты думаешь, что в таких задачах напрямую работают с БД без сервера приложений и без тонкого клиента? Почему это я должен думать о таких задачах, которые напрямую работают с БД без сервера приложений и без тонкого клиента? Задача задаче рознь. Я делал и многоуровневые (ринг 3) вин/веб системы, и интеграции между различными видами систем и серверов данных. И что? Причем тут это? Если человек говорит, что пейджинг - зло, значит он должен ответить за свои слова. Чего от Вас мы не дождались. Опять пустозвонство, опять маразматические всплески эмоций, доказывающие свою некомпетентность... SeVaТам ПО и железа было на лимоны.За одну только техподдержку IBM платили более 50К в год(точную цифру уже не помню). Вы можете объяснить нам, нахрена Вы постите эту информацию сюда? Она никому не интересна и она не по теме. Как это относится к пейджингу и тем вопросам, на которые Вы трусливо отмалчиваетесь? SeVaВ командировке ты пару раз побывал, попробовал вкус апельсина, но и только. Опять пустословие. SeVaЕсли идет полный скан, то ограничивайте выборку или смотрите,как можно от этого избавиться. Ну и чем тут пейджинг не угодил? Кто мешает юзать ограничение выборки и пейджинг одновременно? У меня в примере так и есть: фильтр + пейджинг. Ась? SeVaПопробуйте хотя бы раз провести стрестестирование, сразу все увидете. Попробуйте хотя бы раз привести весомые аргументы, тесты, код, планы - тогда, возможно, Вас начнут люди уважать. А пока - Вы тряпка. SeVaЕсли, как у MCУ - пару бухов и кладовщик, то можете идти по его стопам, ничего страшного не будет с парой запросов в месяц. Короче, слив, Сева. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 15:03 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУ, ни в одном проекте у меня нет count(*). Одного этого достаточно. Ты даже не знаешь, что пользователи одновременно на кнопки не нажимают, компьютер видел, мимо проходил..., поехал обратно в чум. Сходи к бухам на чай, понаблюдай за их работой в это время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 15:14 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
SeVaМСУ, ни в одном проекте у меня нет count(*). Да я как-то срал на Ваши "проекты", если честно. SeVaОдного этого достаточно. Выражайся яснее. Аб чем хотела сказать умна-головушка-то? ) SeVaТы даже не знаешь, что пользователи одновременно на кнопки не нажимают, компьютер видел, мимо проходил..., поехал обратно в чум. Сходи к бухам на чай, понаблюдай за их работой в это время. Мля... Опять понос тупого откровения... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 15:17 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
авторНу и чем тут пейджинг не угодил? Кто мешает юзать ограничение выборки и пейджинг одновременно? У меня в примере так и есть: фильтр + пейджинг. Ась? Почитал краем глаза твой очередной бред.Ты, что не знаешь, что фильтры разные бывают? Есть поля и индексы с малой селективностью, для них будет только полный скан. Запиши еще одну простую истину - одно наличие фильтра ни о чем не говорит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 15:22 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
о, вы тут без меня уже развлекаетесь Данилка, Капитан Очевидность хочет поведать тебе то, что дошло уже до всех, кроме тебя: Сева говорит о том, что на аццки больших объемах пейджинг будет лочить табицы одним только фактом своего существования ( а как ты думаешь работает ROW_NUMBER вместе с BETWEEN, а? ), поэтому он отказался от пейджинга и ограничивает максимальный объем данных юзерам, т.к. они 200 записей все равно за раз не прочитают, а 50 или 200 вытянуть - не велика разница. ферштейн, тупая башка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 15:31 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
SeVaЕсли идет полный скан, то ограничивайте выборку или смотрите,как можно от этого избавиться. Попробуйте хотя бы раз провести стрестестирование, сразу все увидете.Это я уяснил. Вы скажите почему же тогда назвали педжинг штукой полезной? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 15:33 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
SeVaПочитал краем глаза твой очередной бред. Взаимно. SeVaТы, что не знаешь, что фильтры разные бывают? Есть поля и индексы с малой селективностью, для них будет только полный скан. И что? Для них фильтры не пишутся? И что мешает к фильтрам прикрутить пейджинг (это лучше жесткого "обрезания" запроса по TOP)? Для этого, всего-лишь, нужно выполнить Count(*) на текущую фильтрованную выборку. SeVaЗапиши еще одну простую истину - одно наличие фильтра ни о чем не говорит. Запиши еще одну простую истину - это тестовый пример для топиккастера. Юзать нужно столько фильтров, сколько требуется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 15:35 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
семкиСева говорит о том, что на аццки больших объемах пейджинг будет лочить табицы одним только фактом своего существования Дядя МСУ говорит, что на аццки больших объемах применяется секционирование таблиц, грязное чтение (если оно приемлемо), етц. семкипоэтому он отказался от пейджинга и ограничивает максимальный объем данных юзерам, т.к. они 200 записей все равно за раз не прочитают, а 50 или 200 вытянуть - не велика разница. ферштейн, тупая башка? Мне пох отчего он отказался. Ферштейн, тупая башка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 15:39 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
Cheerful CalfSeVaЕсли идет полный скан, то ограничивайте выборку или смотрите,как можно от этого избавиться. Попробуйте хотя бы раз провести стрестестирование, сразу все увидете.Это я уяснил. Вы скажите почему же тогда назвали педжинг штукой полезной? Любым инструментом можно пользоваться бездумно, а можно по назначению. Теже 200 записей, что я упоминал, при плохих фильтрах, можно показывать постранично. Count делаем с грязным чтением,но всегда ограничиваем по кол-ву там, где могут быть большие объемы.Выборку уже нормально(бухи МСУ за кривые проводки простят, он там по блату, а с нас будет спрос), экономим на трафике и прочем, снижаем вероятность попадания на дедлок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 15:52 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
SeVaЛюбым инструментом можно пользоваться бездумно, а можно по назначению. Это к Вам не относится. Вы никаким инструментом не можете пользоваться. Ни думно ни бездумно. SeVaТеже 200 записей, что я упоминал, при плохих фильтрах, можно показывать постранично. Что есть "плохой" фильтр? Откуда взялись ограничивающий "критерий" в 200 записей? А сколько записей нельзя уже юзать в пейджинге? SeVaCount делаем с грязным чтением ,но всегда ограничиваем по кол-ву там, где могут быть большие объемы. Обана! => SeVaГрязное чтение - грязные данные, первый признак кривизны решения Шоу продолжается Пишем в лог: МСУP.S. Неполный список перлов от Севы: 1. Membership - это зло 2. Pricipal более продвинутый и гибкий вариант,к нему может быть прикручен любой метод и свойства 3. Пейджинг - это зло 4. "Пейджинг - штука нужная , но только не в шаловливых ручонках" 5. Грязное чтение - это зло 6. Count делаем с грязным чтением ,но всегда ограничиваем по кол-ву там, где могут быть большие объемы. Самый главное для Севы: пожелание Изопропила SeVaВыборку уже нормально(бухи МСУ за кривые проводки простят, он там по блату, а с нас будет спрос), экономим на трафике и прочем, снижаем вероятность попадания на дедлок. Огласите критерии, когда можно юзать пейджеры, а когда нельзя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 16:06 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
Чуток отрефакторил МСУP.S. Неполный список перлов от Севы: 1. Membership - это зло 2. Pricipal более продвинутый и гибкий вариант,к нему может быть прикручен любой метод и свойства 3. Пейджинг - это зло 4. "Пейджинг - штука нужная , но только не в шаловливых ручонках" 5. Грязное чтение - грязные данные, первый признак кривизны решения 6. Count делаем с грязным чтением ,но всегда ограничиваем по кол-ву там, где могут быть большие объемы. Самый главное для Севы: пожелание Изопропила ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 16:08 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУ-то точно знает, как работает пейджинг МСУСам запрос - это select top 50 А кол-во записей под пеёджер - это select count(*) from ( select top 50 ) + WHERE МСУ, я, наверное, начинаю понимать, что значит твое "оптимальнее оптимального". Это твой пейджинг ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 16:19 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУЧуток отрефакторил МСУP.S. Неполный список перлов от Севы: 1. Membership - это зло 2. Pricipal более продвинутый и гибкий вариант,к нему может быть прикручен любой метод и свойства 3. Пейджинг - это зло 4. "Пейджинг - штука нужная , но только не в шаловливых ручонках" 5. Грязное чтение - грязные данные, первый признак кривизны решения 6. Count делаем с грязным чтением ,но всегда ограничиваем по кол-ву там, где могут быть большие объемы. Самый главное для Севы: пожелание Изопропила Для count грязное чтение не смертельно(я твои изречения внимательно не читаю) в большинстве случаев. Но за полный count(*) - к Изоприлу на стройку кирпичи таскать, в любом случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 16:33 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
семкиМСУ-то точно знает, как работает пейджинг МСУСам запрос - это select top 50 А кол-во записей под пеёджер - это select count(*) from ( select top 50 ) + WHERE МСУ, я, наверное, начинаю понимать, что значит твое "оптимальнее оптимального". Это твой пейджинг MCУ, заглядывай хотя бы иногда в профайлер. Много узнаешь нового. Попроси Изоприла еще тебе ликбез устроить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 16:37 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
SeVaMCУ, заглядывай хотя бы иногда в профайлер. Много узнаешь нового. Попроси Изоприла еще тебе ликбез устроить. Сева, не поверите, только с ним и работаю. P.S. Вам совет на будущее: когда будет что сказать по теме обсуждаемого вопроса, говорите, не стесняйтесь. Вообще, у Вас отличные ответы, грамотные, толковые. Но не хватает всего-лишь одного - аргументов P.S2. Ладно, дитя порока, оставляю Вас наедине в Вашей убогой тупостью. Читайте буки и маны, после - приходите ко мне, буду экзаменовать. А пока - садитесь, двойка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 16:58 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУСам запрос - это select top 50 А кол-во записей под пеёджер - это select count(*) from ( select top 50 ) + WHERE МСУ, я правильно понимаю, что за свою тупость ответить нечего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 17:03 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
семкиМСУСам запрос - это select top 50 А кол-во записей под пеёджер - это select count(*) from ( select top 50 ) + WHERE МСУ, я правильно понимаю, что за свою тупость ответить нечего? Мозгов не хватает понять опечатку, дурень? :) Это даже в логах всё есть, для таких дятлов как ты и постил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 17:12 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУ, какая ж это опечатка, ты так уверенно говорил, и даже когда я тебя твоим же логом тыкал с точно такой же лажей никак не оговаривался про опечатки :) чувствую пролошил ты конкретно и не раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 17:13 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУSeVaMCУ, заглядывай хотя бы иногда в профайлер. Много узнаешь нового. Попроси Изоприла еще тебе ликбез устроить. Сева, не поверите, только с ним и работаю. P.S. Вам совет на будущее: когда будет что сказать по теме обсуждаемого вопроса, говорите, не стесняйтесь. Вообще, у Вас отличные ответы, грамотные, толковые. Но не хватает всего-лишь одного - аргументов P.S2. Ладно, дитя порока, оставляю Вас наедине в Вашей убогой тупостью. Читайте буки и маны, после - приходите ко мне, буду экзаменовать. А пока - садитесь, двойка. Если ты прочел один букварь это еще не значит, что у всех так. Какие фильтры плохие, а какие нет, как происходит выборка по индексам и когда оптимизатор ее не использует - загадка только для тебя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 17:14 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
SeVaЕсли ты прочел один букварь это еще не значит, что у всех так. Если ты прочел один букварь это еще не значит, что у всех так: МСУP.S. Неполный список перлов от Севы: 1. Membership - это зло 2. Pricipal более продвинутый и гибкий вариант,к нему может быть прикручен любой метод и свойства 3. Пейджинг - это зло 4. "Пейджинг - штука нужная , но только не в шаловливых ручонках" 5. Грязное чтение - грязные данные, первый признак кривизны решения 6. Count делаем с грязным чтением ,но всегда ограничиваем по кол-ву там, где могут быть большие объемы. Самый главное для Севы: пожелание Изопропила SeVaКакие фильтры плохие, а какие нет, как происходит выборка по индексам и когда оптимизатор ее не использует - загадка только для тебя. Загадка для меня не только по поводу "плохих" фильтров (ссылка на определение где?), но и загадка для меня - с какого хрена пейджинг - это зло, грязное чтение - первый признак кривизны решения, Membership - это зло, Pricipal более продвинутый и гибкий вариант, ... Вы плодите на форуме очень много загадок, верьте мне ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 17:26 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУ Сынок, LinqDataSource, который работает точно так же (Count(*) и Select Paging) - тоже в топку? Разработчиков казнить? Лень смотреть профайлер (я по правде и не юзаю LinqDataSource никогда), но у меня подозрение, что он сразу все записи выбирает из БД, а не постранично. А пейджинг уже делается на клиенте, как и у других ДатаСорсов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 17:27 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
buredЛень смотреть профайлер (я по правде и не юзаю LinqDataSource никогда), но у меня подозрение, что он сразу все записи выбирает из БД, а не постранично. Ну смотря как обрабатывать OnSelecting buredА пейджинг уже делается на клиенте, как и у других ДатаСорсов. См. выше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 17:31 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 17:35 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
buredу меня подозрение, что он сразу все записи выбирает из БД, а не постранично. Просто сами логично подумайте - если у Вас табличка в 5 миллионов записей, если выбирать все записи, а потом их "резать" и отдавать на клиента (браузер) - да помножить на количество работающих с этим источником пользователей - то ни один серв не выдержит такого напора. Поэтому, применяют страничные выборки. А для формирования PageCount нужен второй запрос на Count(*) + WHERE записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 17:37 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
buredМСУНу смотря как обрабатывать OnSelecting те же тапки, вид в профиль. Чего? P.S. Посмотрите на профайлер в скринах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 17:38 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
buredте же тапки, вид в профиль. Андрей, там даже болдом выделено: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 17:39 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
Кстати, между делом говоря, у меня сам Membership Administrator крутится на LinqDataSource с формированием серверных страничных выборок. Тестировал на миллионе записей - залил в таблицу ролей. Летает как ветер. Андрюха, зря Вы тянете все данные на сервер приложений и там их режете PageIdnex'ами :) Для табличек из тыщи записей - да, покатит ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 17:43 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУburedМСУНу смотря как обрабатывать OnSelecting те же тапки, вид в профиль. Чего? P.S. Посмотрите на профайлер в скринах. я имел в виду, что без Count никак не обойтись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 17:48 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
buredя имел в виду, что без Count никак не обойтись. Разумеется. А я сказал обратное? Но тупые семки мне твердили обратное, типа достаточно одного запроса P.S. Немного не понял Вас, Андрей. Как понимать это? buredно у меня подозрение, что он сразу все записи выбирает из БД , а не постранично ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 17:53 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУ P.S. Немного не понял Вас, Андрей. Как понимать это? buredно у меня подозрение, что он сразу все записи выбирает из БД , а не постранично всем известно, что стандартный пейджинг GridView осуществляется на клиенте. В этом плане LinqDataSource ничем не отличается от SQLDataSource. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 17:57 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
buredвсем известно, что стандартный пейджинг GridView осуществляется на клиенте. В этом плане LinqDataSource ничем не отличается от SQLDataSource. Еще раз говорю, Вам не нужно отруливать вот этой: [img=http://i.msdn.microsoft.com/Aa479347.gridview_fg21(en-us,MSDN.10).gif] фигнёй. LinqDataSource сам всё это сделает в единственной обработчике селектовки. В этом-то и вся прелесть. Короче, попробуйте его поюзать, а потом расскажите о впечатлениях :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 18:00 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУ, да я понял. И раньше с ObjectDataSource такое делали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 18:17 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
Севы Сынок, почитай про объемы, с которыми люди работают . МСУP.S. Неполный список перлов от Севы: 1. Membership - это зло 2. Pricipal более продвинутый и гибкий вариант,к нему может быть прикручен любой метод и свойства 3. Пейджинг - это зло 4. "Пейджинг - штука нужная , но только не в шаловливых ручонках" 5. Грязное чтение - грязные данные, первый признак кривизны решения 6. Count делаем с грязным чтением ,но всегда ограничиваем по кол-ву там, где могут быть большие объемы. 7. Если таблица в 5 лимонов записей, то нужно менять структуру Самый главное для Севы: пожелание Изопропила ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2009, 10:59 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
Хорошо теперь чукчам. Попробовать апельсин не могут, так хотя бы прочитать можно. Молодец, просвещайся дальше. Посоветуй там свой полный count(*) сделать. Передай от меня привет тюленям и буху. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2009, 13:07 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
SeVaХорошо теперь чукчам. Попробовать апельсин не могут, так хотя бы прочитать можно. Молодец, просвещайся дальше. Посоветуй там свой полный count(*) сделать. Что, головушка наполнилась лишней извилиной, я смотрю? Нууу, это уже хорошо, с интеллектуальным человеком приятнее говорить, чем с деревом. За годик, думаю, станете интеллектуалом - тогда и будет разговор. А пока - сад, читать на горшке с себе подобными про секционирование. SeVaПередай от меня привет тюленям и буху. От кого, от дерева? Они с деревьями не гутарят ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2009, 13:25 |
|
||
|
Как это сказать по линкувски? (left outer join по двум полям)
|
|||
|---|---|---|---|
|
#18+
МСУSeVaХорошо теперь чукчам. Попробовать апельсин не могут, так хотя бы прочитать можно. Молодец, просвещайся дальше. Посоветуй там свой полный count(*) сделать. Что, головушка наполнилась лишней извилиной, я смотрю? Нууу, это уже хорошо, с интеллектуальным человеком приятнее говорить, чем с деревом. За годик, думаю, станете интеллектуалом - тогда и будет разговор. А пока - сад, читать на горшке с себе подобными про секционирование. SeVaПередай от меня привет тюленям и буху. От кого, от дерева? Они с деревьями не гутарят Взаимно, Данилка, с тобой тоже приятно и всегда весело можно провести время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2009, 13:56 |
|
||
|
|

start [/forum/topic.php?all=1&fid=17&tid=1351561]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
43ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
86ms |
get tp. blocked users: |
1ms |
| others: | 256ms |
| total: | 421ms |

| 0 / 0 |
