Первый вопрос, который я обычно задаю при приеме в проект, состоит в том, как вытащить его из управления исходным кодом (в основном, "Где это?"). Кроме этого, я думаю, что Вы поразили все звездные часы.
установка IDE, модульные тесты, механизм развертывания
являются, вероятно, самыми важными вещами, о которых можно спросить.
При выяснении, какие веб-сайты влияли на тот, который Вы занимаете, удостоверьтесь, что Вы получаете список ссылок. Я нашел, что много разработчиков сохраняет закладки на сайты, от которых они выбрали. Удостоверьтесь, что Вы получаете тех.
Я думаю, что у вас есть примерно правильная архитектура - представление ее в терминах «курсоров» БУДЕТ запутать «старые руки SQL», потому что они будут думать о многих проблемах, связанных с DECLARE foo CURSOR
, FETCH FROM CURSOR
, WHERE CURRENT OF CURSOR
и другие подобные beauts, имеющие отношение к курсорам SQL . «Курсор» Python DB API - это просто удобный способ упаковки и выполнения операторов SQL, не обязательно связанный с курсорами SQL - он не столкнется ни с одной из этих проблем - хотя он может представлять свои (полностью оригинальные) собственные ;-) Но, с "группированием" результатов, которые вы делаете, вашими правильными коммитами и т. д., вы превентивно исправили большинство из них "
Cursors are bad bad bad for a multitude of reasons.
I'd suggest (and a lot of others will definitely chime in) that you use a single UPDATE statement instead of going the CURSOR route.
Can your Processed_Content be sent as a parameter to a single query that does set based operations like so:
UPDATE data_table
SET processed_content = ?
WHERE processed_content IS NULL
LIMIT 1000
Edited based on responses:
Since every row has a unique value for Processed_Content, you have no option but to use a recordset and a loop. I have done this in the past on multiple occasions. What you are suggesting should work effectively.
Можно ли создать функцию БД, которая будет обрабатывать ваш контент? Если это так, вы должны иметь возможность написать один оператор обновления и позволить базе данных делать всю работу. Например:
Update data_table
set processed_col = Process_Column(col_to_be_processed)