Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
17.07.2008, 03:37
|
|||
|---|---|---|---|
DELETE через Perl удаляет не все записи. |
|||
|
#18+
Интересуюсь, может кто сталкивался. Perl-овый скрипт удаляет часть записей в здоровенной таблице (600M записей) и умудряется время от времени оставить часть записей, отвечающих условию. -------- кусок лога --------- Sun Jul 06 03:10:54 2008 Counting data for dnis_usage_fact ---- date_key = 5910 in Fact table dnis_usage_fact count sql statement: select count(*) from icall_mart_prod1:dnis_usage_fact where date_key = 5910 dnis_usage_fact before: 176528 Sun Jul 06 03:11:15 2008 Deleting data for dnis_usage_fact ---- date_key = 5910 in Fact table dnis_usage_fact deleted: 144405 Sun Jul 06 03:12:15 2008 Counting data for dnis_usage_fact ---- date_key = 5910 in Fact table dnis_usage_fact count sql statement: select count(*) from icall_mart_prod1:dnis_usage_fact where date_key = 5910 dnis_usage_fact records: 32123 Sun Jul 06 03:12:36 2008 Error, there are records present for 06/29/2008 being processed --------- кусок кода, отвечающий за удаление : ----------- sub delete_day_data { my $date_key=$_[0]; my $del_num_rows = -1; my $sth_del; my $SSQL="delete $fact_table where date_key = $date_key "; &log_message("Deleting data for $fact_table ---- date_key = $date_key in Fact table"); $sth_del = $dbh->prepare($SSQL) or die &log_message("Error preparing delete:\n $SSQL\n $DBI::errstr",1); $del_num_rows = $sth_del->execute() or die &log_message("Error executing:\n $SSQL\n $DBI::errstr",1); print "$fact_table deleted: $del_num_rows\n"; } ---------- Удаляют от 140K до 1.2M записей зараз, ошибка случилась при удалении 144К. База без журналов. Informix Version 10.00.FC3X6 , O/S - AIX 5.3.0.0, Perl : Summary of my perl5 (revision 5 version 8 subversion 7) configuration: Platform: osname=aix, osvers=5.3.0.0, archname=aix-64all uname='aix icvaaix05 3 5 00c087ee4c00 ' config_args='-Dcc=gcc -Dprefix=/usr' hint=recommended, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=define use64bitall=define uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags ='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -DUSE_NATIVE_DLOPEN -fno-strict-aliasing -pipe -maix64 -DUSE_64_BIT_ALL', optimize='-O', cppflags='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -DUSE_NATIVE_DLOPEN -fno-strict-aliasing -pipe' ccversion='', gccversion='3.3.2', gccosandvers='aix5.3.0.0' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=87654321 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8 ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='gcc -maix64', ldflags =' -Wl,-brtl -Wl,-bdynamic -Wl,-bmaxdata:0x80000000 -maix64 -Wl,-b64' libpth=/lib /usr/lib /usr/ccs/lib libs=-lbind -lnsl -ldbm -ldl -lld -lm -lcrypt -lc -lbsd perllibs=-lbind -lnsl -ldl -lld -lm -lcrypt -lc -lbsd libc=/lib/libc.a, so=a, useshrplib=false, libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_aix.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Xlinker -bE:/usr/lib/perl5/5.8.7/aix-64all/CORE/perl.exp' cccdlflags=' ', lddlflags=' -Wl,-b64 -Wl,-bhalt:4 -Wl,-bexpall -Wl,-G -Wl,-bnoentry -lc' Characteristics of this binary (from libperl): Compile-time options: USE_64_BIT_INT USE_64_BIT_ALL USE_LARGE_FILES Built under aix Compiled at Aug 30 2005 16:06:40 @INC: /usr/lib/perl5/5.8.7/aix-64all /usr/lib/perl5/5.8.7 /usr/lib/perl5/site_perl/5.8.7/aix-64all /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl В таком вот аксепте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.07.2008, 08:52
|
|||
|---|---|---|---|
DELETE через Perl удаляет не все записи. |
|||
|
#18+
ВыбегаллоИнтересуюсь, может кто сталкивался. Perl-овый скрипт удаляет часть записей в здоровенной таблице (600M записей) и умудряется время от времени оставить часть записей, отвечающих условию. -------- кусок лога --------- Sun Jul 06 03:10:54 2008 Counting data for dnis_usage_fact ---- date_key = 5910 in Fact table dnis_usage_fact count sql statement: select count(*) from icall_mart_prod1:dnis_usage_fact where date_key = 5910 dnis_usage_fact before: 176528 Sun Jul 06 03:11:15 2008 Deleting data for dnis_usage_fact ---- date_key = 5910 in Fact table dnis_usage_fact deleted: 144405 Sun Jul 06 03:12:15 2008 Counting data for dnis_usage_fact ---- date_key = 5910 in Fact table dnis_usage_fact count sql statement: select count(*) from icall_mart_prod1:dnis_usage_fact where date_key = 5910 dnis_usage_fact records: 32123 Sun Jul 06 03:12:36 2008 Error, there are records present for 06/29/2008 being processed --------- Удаляют от 140K до 1.2M записей зараз, ошибка случилась при удалении 144К. База без журналов. Informix Version 10.00.FC3X6 , O/S - AIX 5.3.0.0, может быть в середине пути случилась ошибка? база без журналов, что успел, то удалил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=44&mobile=1&tid=1608056]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
74ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 275ms |
| total: | 432ms |

| 0 / 0 |
