|
|
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
МузаффарPetro123, если человек пишет свой код и при возникновении вопросов или трудности обращается сюда, то по Вашему человек не пишет свой код? и не имеет право назвать эту прогу своим? да не обижайся ты. Это форум. Говори где тормозит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2015, 09:43 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
BlazkowiczПохоже я угадал Google -> ORM N+1 problem вроде так :) как Вы сказали проблема новичков :) З.Ы. спасибо за ссылку попробую понять проблему... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2015, 09:44 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Музаффарвроде так :) как Вы сказали проблема новичков :) З.Ы. спасибо за ссылку попробую понять проблему... Если мы читаем список 2000 Abiturients из БД, а у них есть ассоциации Groups, Roles и User, и эти ассоциации нам действительно нужны, то, желательно, их сразу же вычитать через fetch join/subselect, иначе получается что после вычитки 2000 Abiturients запускаются 2000 SELECT для Groups, Roles и User для выборки по PK. А это ещё 6000 запросов. Вот и выходит 6001 запрос N*3+1. А можно всё впихнуть в один или 4 запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2015, 10:03 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Petro123да не обижайся ты. Это форум. Говори где тормозит. ну да это форум, а тормозит везде :) Blazkowicz уже сказал. BlazkowiczЕсли мы читаем список 2000 Abiturients из БД, а у них есть ассоциации Groups, Roles и User, и эти ассоциации нам действительно нужны, то, желательно, их сразу же вычитать через fetch join/subselect, иначе получается что после вычитки 2000 Abiturients запускаются 2000 SELECT для Groups, Roles и User для выборки по PK. А это ещё 6000 запросов. Вот и выходит 6001 запрос N*3+1. А можно всё впихнуть в один или 4 запроса. да так и получается. З.Ы. кстати вот сама структура базы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2015, 10:13 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Музаффара тормозит везде Не верю, что N+1 проявляется везде. Хотя если у тебя всего 1 страничка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2015, 10:16 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Petro123Музаффара тормозит везде Не верю, что N+1 проявляется везде. Хотя если у тебя всего 1 страничка? вообщето да одна страничка с вкладками и в каждом есть свои запросы к базу (вкладки организованы с помощью CSS) исходя из ролей пользователя свои странички...есстестенно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2015, 10:25 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Музаффарвообщето да одна страничка с вкладками и в каждом есть свои запросы к базу (вкладки организованы с помощью CSS) исходя из ролей пользователя свои странички...есстестенно :) это плохо. Ты веб пишешь как десктоп с 1-ой точкой входа. 2. Урл на место в программе тоже составить нельзя, т.к. переходов нету. .... У тебя табла с ролями и юзвери должна грузиться в момент СТРАНИЦЫ входа. Потом кешироваться. Итого остаётся 2-е таблички студенты и их группа. Чтобы тормозили 2-е таблички надо постараться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2015, 10:28 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Музаффарвкладки организованы с помощью CSS проверь, что без клика на вкладке запросы не идут в БД. Хотя в веб вкладки _вроде_ грузятся сразу. Потом просто скрываются. Т.е. это фикция для масштабируемости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2015, 10:31 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Музаффар, понаставь время в логи САМ в коде и выведи тут. Чтобы 15 страниц не гадать ерундовую проблему из 1 странички на 2-х таблицах. IMHO Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2015, 10:36 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Petro123Музаффарвкладки организованы с помощью CSS проверь, что без клика на вкладке запросы не идут в БД. Хотя в веб вкладки _вроде_ грузятся сразу. Потом просто скрываются. Т.е. это фикция для масштабируемости. там все сразу... или может сделать эти табы не с помощью css а с помощью JS? вот тогда возможно все по отдельности грузиться... З.Ы. или все таки надо решить проблему N+1, но пока ничего не понятно :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2015, 10:40 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Музаффар, сначала Логи со временем. Если ты не конфигураст. А потом переписывать и рушить. Сразу надо было писать на POST\Submit .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2015, 10:42 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, вроде сделал как Вы сказали с помощью JOIN FETCH'а нагрузки уже не совсем заметны... :) З.Ы. но все таки одну вещь не совсем понял везде в интернете я нашел только с двумя таблицами и связью 1-*, а в моем случае три таблицы тот же ГРУППЫ (1)-----(*) АБИТУРИЕНТЫ (*)-----(1) ЮЗЕРЫ. я написал примерно вот так: Код: sql 1. собственно вопрос а что со второй связью (имею ввиду АБИТУРИЕНТЫ (*)-----(1) ЮЗЕРЫ)? как ее реализовать или запрос таким же остается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2015, 11:35 |
|
||
|
С увеличением объема данных в БД начинается проблемы
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2015, 11:41 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39006649&tid=2125163]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 365ms |

| 0 / 0 |
