Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как обработать множество строк?
|
|||
|---|---|---|---|
|
#18+
Всем добрый день. Разрабатываю проект. В таблице находятся 3000 школьников(таблица постоянно увеличивается, точнее это журнал), со всеми данными, около 15 полей. Мне нужно эти данные разнести в разные таблицы, в таблицу телефонов, в таблицу адресов и т.д. В начале я выбирал одну строку из таблицы школьников, обрабатывал ее на сервере и вставлял в разные таблицы в БД, устанавливая флаг обработано. Потом переписал весь код, делаю выборку всех строк школьников одним разом в массив. Создаю другие "временные" массивы, распределяю туда данные. Потом по этим массивам создаю длинный запрос-вставку и отправляю в бд. Все работает вроде хорошо. Однако теперь мне нужно еще фильтровать этот массив школьников от дублирующихся данных, разных пустых ошибочных данных, и сохранять в массив ошибочных школьников. т.е. массивы динамический изменяются в длинне на сервере, и происходит какая-то имитация поведения таблиц как в реальной БД, еще мне приходится следить за автоинкрементом, увеличивая искусственно переменную в одном из массивов, чтоб потом по автоинкременту, если что сразу сделать апгрейд данных в этом массиве. Дальше еще больше. Какая-то путаница. И все это для того чтобы вставить все данные не грузя лишний раз БД. Хотел узнать, обычно действительно так обрабатывают и подготавливают массивы с данными или делают как то по другому? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2017, 04:52 |
|
||
|
Как обработать множество строк?
|
|||
|---|---|---|---|
|
#18+
jtagХотел узнать, обычно действительно так обрабатывают и подготавливают массивы с данными или делают как то по другому?Какой смысл обрабатывать ЗАПИСИ, когда разумнее обрабатывать ПОЛЯ? Типичная последовательность выделения поля во внешнюю таблицу: Код: 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. Само собой на каждом этапе контролируется правильное и безошибочное его прохождение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2017, 08:01 |
|
||
|
Как обработать множество строк?
|
|||
|---|---|---|---|
|
#18+
ужас, ща будет взрыв мозга, от слова distinct инстинкт самовыживания пропадает=). Попробую разобраться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2017, 09:13 |
|
||
|
Как обработать множество строк?
|
|||
|---|---|---|---|
|
#18+
спасибо за выше изложенный пример. Честно сказать я сейчас нахожусь на измене, я так понял что нет смысла загружать данные на сервер, потом обрабатывать и выгружать их, лучше отправлять запросы в БД, чтобы она сама обрабатывала все данные. или так не всегда делают? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 14:59 |
|
||
|
Как обработать множество строк?
|
|||
|---|---|---|---|
|
#18+
jtagя так понял что нет смысла загружать данные на сервер, потом обрабатывать и выгружать их, лучше отправлять запросы в БД, чтобы она сама обрабатывала все данные. или так не всегда делают? Зависит от того, что надо делать с данными. Большинство задач массовой обработки разумнее выполнять на сервере БД - он специально на это заточен, и делает это намного эффективнее, да и ресурсов у него поболе будет. К тому же получить по сети компактные данные и получить пухлые исходные (которые ведь ещё и где-то держать надо!) - тоже две большие разницы. Есть, конечно, задачи, которые разумнее выполнять на клиенте. К примеру, это большинство полных задач любого толка. Cкажем, в БД валяется большущий граф, и надо построить кратчайший маршрут - зачастую разумнее это выполнить именно на клиенте. Или, к примеру, исходные данные требуют итерационной обработки. Как правило, если программист решает задачу такого уровня, он уже чётко понимает, где он силён, а где программисты сервера его делают, и раскладывает задачу на этапы, каждый из которых реализуется в наиболее выгодной для этого точке. Задача, описанная в исходном сообщении, несомненно, должна решаться на сервере - там присутствует простейшая плоская манипуляция набором данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 15:29 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39576917&tid=1830151]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 232ms |
| total: | 361ms |

| 0 / 0 |
